这个crc是如何正确计算的?
How is this crc calculated correctly?
我正在寻求帮助。我通过 SPI (MAX22190) 使用的芯片指定:
CRC 多项式:x5 + x4 + x2 + x0
使用前 19 个数据位填充 5 位初始字 00111 来计算 CRC。
然后将 5 位 CRC 结果附加到原始数据位以创建 24 位 SPI 数据帧。
我用多种工具计算得到的CRC结果为:0x18
但是,芯片在这上面显示了CRC错误。它期望:0x0F
谁能告诉我我的计算哪里出错了?
我的输入数据(19个数据位)是:
19 位数据:
0x04 0x00 0x00
0000 0100 0000 0000 000
24位,用初始值填充:
0x38 0x20 0x00
0011 1000 0010 0000 0000 0000
=> 我发送的数据:0x38 0x20 0x18
=>芯片需要的数据:0x38 0x20 0x0F
CRC算法详解here。
我认为您的错误来自 00111 填充,必须在右侧而不是左侧填充。
我正在寻求帮助。我通过 SPI (MAX22190) 使用的芯片指定:
CRC 多项式:x5 + x4 + x2 + x0
使用前 19 个数据位填充 5 位初始字 00111 来计算 CRC。
然后将 5 位 CRC 结果附加到原始数据位以创建 24 位 SPI 数据帧。
我用多种工具计算得到的CRC结果为:0x18
但是,芯片在这上面显示了CRC错误。它期望:0x0F
谁能告诉我我的计算哪里出错了?
我的输入数据(19个数据位)是:
19 位数据:
0x04 0x00 0x00
0000 0100 0000 0000 000
24位,用初始值填充:
0x38 0x20 0x00
0011 1000 0010 0000 0000 0000
=> 我发送的数据:0x38 0x20 0x18
=>芯片需要的数据:0x38 0x20 0x0F
CRC算法详解here。 我认为您的错误来自 00111 填充,必须在右侧而不是左侧填充。