打印

485通讯协议

[复制链接]
2218|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只是一个物理层的协议。
而校验是链路层的内容,是由你来定的。

使用特权

评论回复
5
skky2010|  楼主 | 2011-2-28 13:51 | 只看该作者
是的啊,我只是想知道怎样才好,谢谢!

使用特权

评论回复
6
kami03372| | 2011-2-28 14:17 | 只看该作者
可以把除了校验位之前的全部参与校验就行了,怎么方便怎么来

使用特权

评论回复
7
mmax| | 2011-2-28 15:35 | 只看该作者
根据你的帧特点
ID、命令、数据,这三个是帧的内容,都会变化。
所以CRC校验必须涵盖这三个内容。

握手和结束可以不需要包含进去,它跟数据有效性没有关系。

使用特权

评论回复
8
zjp8683463| | 2011-2-28 16:46 | 只看该作者
简单的校验就是把除了校验位,所有数据相加然后取反再加1

使用特权

评论回复
9
skky2010|  楼主 | 2011-3-1 12:42 | 只看该作者
七楼说的很有道理,学习了,谢谢!!

使用特权

评论回复
10
drive2011| | 2011-3-1 13:26 | 只看该作者
校验是为了防止数据传输出错。
而指令是用来控制操作的,如果指令不对,自然不会有下一步的操作。
所以不用对指令再做crc校验了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

145

帖子

1

粉丝