仪器社区

modbus协议RTU模式校验码怎么计算

棱子头 2016-01-25
评论
全部评论
长脸先生不带V
RTU 模式下是CRC - 16 校验码,方法如下:
CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或(异或:二进制运算 相同为0,不同为1;0^0=0;0^1=1;1^0=1;1^1=0), 之后对CRC寄存器从高到低进行移位,在Z高位(MSB)的位置补零,而Z低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,diyi个8-bit数据处理完毕,用此时CRC寄存器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为Z终的CRC值。
希望你懂了。
20 0 2016-01-26 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论