CRC-16的CRC校验码计算: 产生CRC的过程是: 1. 将一个16位寄存器的值置为0FFFFH(十六进制),所有位都置为1。称之为CRC寄存器。 2. 将信息的第一个8位与CRC寄存器的低位字节进行异或计算,结果放入CRC寄存器。 3. CRC寄存器向右移动一位(向着最低位LSB),最高位MSB用0填充。提取和检查LSB。 4. 如果LSB是0,重复步骤3(另一个移位);如果LSB是1,把CRC寄存器与多项式值0A001H进行异或操作。 5. 重复步骤3和步骤4,直到完成8个移位。此过程完成后,第一个完整的8位字节就处理完成。 6. 重复步骤2至5,处理信息的下一个8位字节。连续地重复以上过程,直到所有的字节都处理完毕。 7. CRC寄存器中的最后内容就是信息的CRC值。
我计算0FFH的CRC码,是00FF,用软件得到的是44FF。 请高手指点下。我是OFF与OFF异或=00,CRC码16位=00FF。 |