【发布时间】:2016-10-03 14:15:26
【问题描述】:
所以我在查找一系列命令的 CRC 值时遇到问题,我已经有了一些命令的 CRC 值,但我需要弄清楚它们是如何计算的。在仔细检查数据流并尝试计算 CRC 后,我们无法获得已知的 CRC 值和计算出的值来匹配。我以前从未计算过 CRC,但我已经阅读了多篇关于它的论文,这似乎很容易,除了它不起作用的事实。我的手册说多项式生成器是 (x^8 + x^7 + X^2 + X^0),它给了我一个唯一的非零值 B1(十六进制)。完整的命令是 A9E40401(十六进制),CRC 为 1E(十六进制)。我目前使用的过程涉及将数据流从十六进制转换为二进制,使用 LSB 优先规则,将 FF(hex) 插入命令以检测无关的零,将 00(hex) 添加到末尾作为占位符,然后执行mod2 除法,然后我将其反转并将其应用于数据流。要么我做错了什么,要么我错过了一步。我假设我提供的多项式是正确的。任何帮助将不胜感激。
【问题讨论】:
标签: error-handling binary hex crc cyclic