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

2020-01-16 18:26发布

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


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
adongliu
1楼-- · 2020-01-16 23:02
仪表程序时序有bug的可能性大。
brownheart
2楼-- · 2020-01-17 04:32
最简单有效的方法:示波器抓波形
zhuxm
3楼-- · 2020-01-17 07:23
程序Bug,485数据发送结束转侦听时延不够。
zchong
4楼-- · 2020-01-17 10:12
按照你的描述,仪表是能接收到正确数据的,且能返回数据,只是数据串末尾不对,示波器看看吧,4楼说的是比较常见的情况,数据还未发送完,485方向控制变了,另外注意一下你接收程序处理是否存在问题
cn.pheral
5楼-- · 2020-01-17 12:01
 精彩回答 2  元偷偷看……
Percychiu
6楼-- · 2020-01-17 15:06
cn.pheral 发表于 2017-3-8 23:59
波特率不对,或者数据过长

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

一周热门 更多>