需求
在使用串口调试助手调试读写程序时,发现在开启定时 10ms
发送的情况下,接收到的数据有时候会不对。
解决
原因
经过反复调试,最终确定问题是 RS485
导致的问题。因为下面几个原因叠加导致:
RS485
是半双工设备,同时只能收或者发。- 串口调试助手,定时发送没有办法刚好完全避开程序的发送
所以,就出现了,当程序在发送时,串口调试助手也在发送,等到程序接收的时候,数据就不完整,或者有问题。
验证
验证也很简单:
- 程序只收不发,然后查看所有受到的数据,没有错误。
- 程序发送的间隔拉的很长,观察在发送间隔中的接收数据,也是没有错误的。