modbus协议的CRC循环冗余校验位,校验的究竟是什么,是数据位吗

例如图里的最后两个CRC,HI和CRC,LO,由什么得到的。。我知道02H怎么算成CRC的C1H。。但是不懂CRC是由什么数据算得的... 例如图里的最后两个CRC,HI和CRC,LO,由什么得到的。。
我知道02H怎么算成CRC的C1H。。但是不懂CRC是由什么数据算得的
展开
 我来答
呵呵一二二一
2017-08-30
知道答主
回答量:9
采纳率:0%
帮助的人:3.4万
展开全部
CRC叫做循环冗余校验,是检验发送数据是否正确的一种方法。比如你发过来的是0x010300000003这个数据,要是发送过程中出现了干扰,变成了其他数据比如0x010300000103,这样送到设备上会出问题的。所以MODBUS利用了一种方法,就是把每一个BYTE的数据和一个固定值(16位数值)进行一次运算(循环的,比如上面的数据中01运算完结果用在03上运算,再往下以此类推),最后得到一个2BYTE的数值(16位)。也就是经过这一系列的运算,发送方和接收方算出来的CRC数值应该相同的;如果传送中数据的某一位或者某几位出现了问题,那么运算出来的结果就会不一样(并不是100%,但是已经很高了),那么‍这个数据就不能要了。懂了吗?
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
匿名用户
2015-01-30
展开全部

有CRC16-MODBUS算法计算而来,可以用支持这类通信的软件,像格西烽火等,都不错,测试一下。


下面是一个命令的构成,有CRC校验自动生成。

追问
答非所问!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式