485通讯协议

[复制链接]
3275|9
 楼主| skky2010 发表于 2011-2-28 11:11 | 显示全部楼层 |阅读模式
请教一下,485通讯中,如果用CRC校验时,要将整个数据包进行计算(假设我的数据包的格式为握手、ID、命令、数据、结束),还是只要将命令和数据进行CRC计算,还是采用其他的方法?谢谢
cjz19870124 发表于 2011-2-28 11:33 | 显示全部楼层
不好意思 我也不知道
maychang 发表于 2011-2-28 11:38 | 显示全部楼层
这是由你自己决定的。
通讯协议与传输方式无关,485也好,232也好,别的什么传输方式也好,都与通讯协议无关。
mmax 发表于 2011-2-28 11:40 | 显示全部楼层
may叔说的对
485只是一个物理层的协议。
而校验是链路层的内容,是由你来定的。
 楼主| skky2010 发表于 2011-2-28 13:51 | 显示全部楼层
是的啊,我只是想知道怎样才好,谢谢!
kami03372 发表于 2011-2-28 14:17 | 显示全部楼层
可以把除了校验位之前的全部参与校验就行了,怎么方便怎么来
mmax 发表于 2011-2-28 15:35 | 显示全部楼层
根据你的帧特点
ID、命令、数据,这三个是帧的内容,都会变化。
所以CRC校验必须涵盖这三个内容。

握手和结束可以不需要包含进去,它跟数据有效性没有关系。
zjp8683463 发表于 2011-2-28 16:46 | 显示全部楼层
简单的校验就是把除了校验位,所有数据相加然后取反再加1
 楼主| skky2010 发表于 2011-3-1 12:42 | 显示全部楼层
七楼说的很有道理,学习了,谢谢!!
drive2011 发表于 2011-3-1 13:26 | 显示全部楼层
校验是为了防止数据传输出错。
而指令是用来控制操作的,如果指令不对,自然不会有下一步的操作。
所以不用对指令再做crc校验了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

145

帖子

1

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