Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用 Nucleo L053R8 的 crc 计算单元计算一个 3 字节的 CRC 值。生成多项式如下: g(X)=x^24 + x^10 + x^9 + x^6 + x^4 + x^3 + x + 1
似乎使用这个 CRC 计算单元我只能生成一个 32 位长度的 CRC,较小的值只是 32 位结果的 LSBS。我也知道CRC32的LSB不等于CRC16。
关于我应该对输入/输出数据执行哪些操作以获得我想要的正确 CRC24 的任何想法?
通过将生成多项式向左移动 8 位,将生成多项式乘以 x^8。如果你有一个初始值,也将它乘以 x^8,将其左移 8 位。将 32 位 CRC 码与移位多项式和初始值一起使用,然后将生成的 32 位 CRC 右移 8 位。
g(X)*x^8 = x^32 + x^18 + x^17+ x^14 + x^12 + x^11 + x^9 + x^8