为什么A5 43 01 7C 01利用小端模式用CRC16算法,校验码为91 86,请写出详细计算过程
时间: 2024-04-23 09:23:51 浏览: 73
用于计算CRC16校验码
使用CRC16多项式8005计算校验位的步骤如下:
1. 初始化CRC寄存器为0xFFFF。
2. 将数据按小端模式每两个字节一组进行处理,得到3组数据:A5 43、01 7C、01 00。
3. 对于每组数据,将它们和当前CRC寄存器的值进行异或运算,并将结果作为下一轮的输入。
1. 第一轮输入为A5 43 XOR FFFF = 5ABC。
2. 第二轮输入为01 7C XOR 5ABC = 5BDF。
3. 第三轮输入为01 00 XOR 5BDF = 5BDF。
4. 对于每个输入的字节,循环8次,每次进行以下操作:
1. 将当前CRC寄存器的最高位和输入的当前字节的最高位进行异或运算,得到一个结果。
2. 将CRC寄存器左移一位,将刚刚得到的结果作为最低位填入。
3. 如果刚刚得到的结果为1,则将CRC寄存器与多项式8005进行异或运算。
5. 最后得到的CRC寄存器的值即为校验位,按小端模式排列即为0x8691。
因此,A5 43 01 7C 01利用小端模式用CRC16算法计算的校验码为91 86。
阅读全文