您好!
我正在通读 SNLA342、描述 CRC-8计算的方式有点令人困惑。 我假设使用的是多项式值0x07、因为文档未指定此值。
使用 SNLA342的表4给出的示例作为参考:
CRC-8输入= 0x10F1811220F2811A02
计算出的 CRC-8 = 0x9C
此校验和值似乎是每个单独 ASCII 字符值的校验和:
CRC8 (0x31 0x30 0x46 0x31 0x38 0x31 0x31 0x32 0x30 0x46 0x32 0x31 0x31 0x41 0x30 0x32)= 0x9C
与每个数据字节的校验和相反:
CRC8 (0x10 0xF1 0x81 0x12 0x20 0xF2 0x81 0x1A 0x02)= 0xC5
(这是否是预期行为?)
第5.2节中的 EEPROM 十六进制文件示例似乎不执行上述两种计算中的任何一种:
CRC-8输入= 0x102B811310278123
计算出的 CRC-8 (如文档中所示)= 0xA6
每个单独 ASCII 字符值的校验和:
CRC8 (0x31 0x30 0x32 0x42 0x38 0x31 0x31 0x33 0x31 0x30 0x32 0x37 0x38 0x31 0x32 0x33)= 0x58
每个数据字节的校验和:
CRC8 (0x10 0x2b 0x81 0x13 0x10 0x27 0x81 0x23)= 0x33
这两个计算值均与文档中写入的值不匹配。
如果有任何有关这方面的指示,将不胜感激。
此致、
km