CRC16校验码运算

CRC寄存器一开始填充为16位1111 1111 1111 1111 然后将CRC寄存器的低8位1111 1111与报文数据第一个八位数据进行异或运算,报文可以是主站发送的功能码,或者是从站反馈的功能码。得出的8位数据结果与CRC校验的高八位1111 1111合并,例如助手发送的十进制码第一个八位数据为03即0000 0011,与CAR低八位1111 1111异或为1111 1100,合并后为11111111 11111100
将合并后的数据与二项式进行异或运算 。计算中,先将低位移出去再进行判断,如果移出去的是0,则右移不异或,如果移出去的是1,那么就与多项式进行异或,是16位的CRC寄存器与16位的二项式进行异或,注:二项式都是固定的。得出的最终结果,为16位的数据。再将这16位的数据低八位与报文数据的第二个八位数据进行异或,异或完了以后再和高八位合并,步骤与第一次相同,将所有的数据异或完成以后,得出的最终结果,则是校验码!二项式二项式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值