关于Modbus的一个疑问

[复制链接]
2477|6
 楼主| yyql008 发表于 2010-11-23 15:53 | 显示全部楼层 |阅读模式
Modbus需要对数据进行CRC校验,CRC校验的数据也包括地址.现在一个问题是:如果单片机地址变了,则CRC校验也变了,那么客户怎么知道这个变化,难道还要他们自己计算效验码?
shell.albert 发表于 2010-11-23 17:05 | 显示全部楼层
CRC校验就是包含是一帧数据中的,不管Address变不变都无所所谓啊,那有什么关系,你从帧中解析出Address,然后再CRC()如果没有问题就说明这一帧是没有问题,就要处理。
原野之狼 发表于 2010-11-24 00:53 | 显示全部楼层
客户? 客户机?从机?用户?
 楼主| yyql008 发表于 2010-11-24 08:10 | 显示全部楼层
2楼的,你的意思是说CRC校验只对数据校验,不对Address校验?
ejack 发表于 2010-11-24 08:12 | 显示全部楼层
客户端当然要验算,否则怎么知道收到的数据帧是否正确。
shell.albert 发表于 2010-11-24 08:22 | 显示全部楼层
对不对Address Check是编程者说了算,如果要对Address Check的话,那就读取一帧,在解析的时候,取出CRC Byte,再重新对Frame(包括Address)进行CRC,如果结果跟Frame中包含的CRC结果一样那不就说明这一Frame没有问题吗?
hotyong 发表于 2010-11-24 08:47 | 显示全部楼层
5楼正解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我们必须知道,我们必将知道

18

主题

111

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部