s7的CRC效验

已锁定

qjj1020

  • 帖子

    672
  • 精华

    1
  • 被关注

    8

论坛等级:侠圣

注册时间:2005-12-08

黄金 黄金 如何晋级?

s7的CRC效验

944

2

2014-09-18 15:43:20

MODBUS RTU 是采用CRC-16码效验,CRC(16位生成的多项式X16+X15+X2+1 即8005(除掉最高位的)
方法:CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或,之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB),移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码(16#A001)进行 异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,第一个8-bit数据处理完毕,用此时CRC寄存器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值。
请问寄存器与预定义的多项式码(16#A001)进行 异或,为什么不是寄存器与多项式码(16#8005)进行 异或,16#A001是怎么得来的跟16#8005有什么关系?
s7的CRC效验 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54706条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。