如何计算传入 32 位数据的 CRC8
Posted
技术标签:
【中文标题】如何计算传入 32 位数据的 CRC8【英文标题】:How to calculate CRC8 of incoming 32bit data 【发布时间】: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 的算法是什么?
【问题讨论】:
【参考方案1】:如果 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。
【讨论】:
非常感谢以上是关于如何计算传入 32 位数据的 CRC8的主要内容,如果未能解决你的问题,请参考以下文章