【发布时间】:2020-03-03 14:25:58
【问题描述】:
我需要使用 32 位数据的特定多项式来实现 CRC-8。这是我从发射机得到的结果:
Data:12586966
CRC-8: 22(0x16)
Polynomial:0x97
Initial data:0x00
No final XOR calculation
检查传入数据是否等于其 CRC-8 的算法是什么?
【问题讨论】:
我需要使用 32 位数据的特定多项式来实现 CRC-8。这是我从发射机得到的结果:
Data:12586966
CRC-8: 22(0x16)
Polynomial:0x97
Initial data:0x00
No final XOR calculation
检查传入数据是否等于其 CRC-8 的算法是什么?
【问题讨论】:
如果 CRC 附加到数据中,并且没有最终 XOR,则重新计算的 CRC 将为零。
在十六进制中,4个字节的数据是:00 C0 0F D6。 CRC8 计算有效地附加一个 00 以创建被除数,并使用 197 作为除数生成余数:{00 C0 0F D6 D6} % 197 = 16。然后从被除数中“减去”余数,但在这种情况下,两者都加和减法相同,异或,所以 CRC 只是附加到数据:{00 C0 0F D6 16}。使用附加的 CRC(以及隐含的附加 00)重复该过程,{00 C0 0F D6 D6 16 00} % 197 = 00。
【讨论】: