我正在寻求帮助。我正在通过SPI(MAX22190)使用的芯片指定:
CRC多项式:x5 + x4 + x2 + x0
[CRC是使用填充有5位初始字00111的前19个数据位来计算的。
然后将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填充,必须在右侧而不是在左侧填充。