奇怪的485通讯问题,盼高手
时间:10-02
整理:3721RD
点击:
我在485通讯时,出现这样的问题:比如发送6个字符的命令桢,如01 04 00 00 00 02,可以得到正确的返回数据:01 02 03 04 05 06 07 08,如果在命令桢后多出一个字节(比如干扰或多机通讯错误)如01 04 00 00 00 02 12,则返回的数据就会出错:14 02 03 04 05 06 07 08,接收到的第一个字节数据不是01而是14了,并且这个数据是随机的,返回的数据随命令桢后多出的字节多少也不相同,多出的字节数越多,返回数据前几个数据出错数目也不相同。同样的程序换到232通讯就没有这样的问题,程序中有对接收数的判断和处理,发送前后也都加了延时还是不对。232电路中没错,显然程序没问题,为什么485电路就会有这样的问题呢?有高手帮说说吗?
首先你代码肯定有问题,第二出现类似的数据错误,一般都会用纠错机制,比较多的就是CRC校验,或者sum和校验
没明白你的程序是怎么设计,收到错误的命令也会返回数据吗?发送了错误的命令,收到的数据不是你发的吗
厉害,学习啊.