[求助]求教下CH376发送数据经常出现丢包和发送失败原因

CH376做主机,与CP2102(USB转串口芯片)通信,设置CP2102的波特率为19200(不高)

现发现CH376接收CP2102数据都是正常的,无丢包和丢数据情况; 但是CH376向CP2102发送

数据时,经常出现丢数据和发送失败等情况;

我个人觉得可能是CH376的接收机制不当导致了CH376的发送有问题;后来为了验证这个观

点,把接收函数去掉,不接收,单独发送,发送一切正常,所以应该是接收机制没写好导致

的。

现在想问的是,为何接收和发送放在一起就有问题了。 接收机制是 定时25ms查询USB接收状态一次,接收在中断里面,无超次; 发送机制是 发送的时候关闭接收定时器,等发送完成后开启

按照这个机制应该没什么问题,关键问题是发送数据出去之后,是一包数据丢了还是一包数据里面只有几个数据丢了?


是丢了一包数据里面的几个字节


那应该是你往CH376里面写数据的时候会不会有中断打断导致数据出现问题?在写数据的过程中一定要关闭全局中断。


http://www.wch.cn/bbs/View.asp?S=101&I=52802 这个帖子已经详细解释


我的用的是CH378,也出现了丢数据的现象,就是隔一段时间会丢一组数据,大概丢包率在千分之2到千分之3,写数据的时候请问要关闭全局中断嘛?但是我的是采集数据存储,关闭中断以后,那么就不能进行采集了,丢失数据更多啊。


您可以直接联系我们的技术支持025-52638376,他们会为您处理。


只有登录才能回复,可以选择微信账号登录