Percychiu 发表于 2017-3-8 01:12:17

请教关于RS485通信中校验码有时出现错误问题

问题描述:
使用了一个带485通信的仪表,经常出现仪表读回的数据异常表现如下;但有一半时间是完全正确。
如发送:01 03 00 00 00 02 ** **(此处** **是发送端校验码)
   返回:01 03 04 00 00 00 00 ** ** (此处** **是返回数据的校验码,数据固定时,此校验码会出现不同)
返回的数据串中数据是正确的,但校验码是错的。造成上位机不得不把数据做无效处理。
在不同的波特率下出错的频率也不尽相同,4800下最少出错。19200最多。
想问这种出错问题可能性在哪?


adongliu 发表于 2017-3-8 06:57:35

仪表程序时序有bug的可能性大。

brownheart 发表于 2017-3-8 13:23:20

最简单有效的方法:示波器抓波形

zhuxm 发表于 2017-3-8 17:02:09

程序Bug,485数据发送结束转侦听时延不够。

zchong 发表于 2017-3-8 18:52:51

按照你的描述,仪表是能接收到正确数据的,且能返回数据,只是数据串末尾不对,示波器看看吧,4楼说的是比较常见的情况,数据还未发送完,485方向控制变了,另外注意一下你接收程序处理是否存在问题

cn.pheral 发表于 2017-3-8 23:59:33

波特率不对,或者数据过长

Percychiu 发表于 2017-3-10 01:21:37

cn.pheral 发表于 2017-3-8 23:59
波特率不对,或者数据过长

数据不长,波特率对的,因为能返回正确的数据,仅仅是返回数据的校验码有时出错!

Percychiu 发表于 2017-3-10 01:24:46

zchong 发表于 2017-3-8 18:52
按照你的描述,仪表是能接收到正确数据的,且能返回数据,只是数据串末尾不对,示波器看看吧,4楼说的是比 ...

谢谢,仅仅是最后的校验码有时出错,我也觉得是仪表本身程序问题。
页: [1]
查看完整版本: 请教关于RS485通信中校验码有时出现错误问题