主题中讨论的其他器件:TMS3705、 TMS37157、
您好!
我想计算 CRC-16 ACC。 以通过 TMS3705与 TMS37157进行通信。
我有一个使用移位运算的工作代码。
我 采用了这种方法: https://en.wikipedia.org/wiki/Computation_of_cyclic_redundancy_checks、代码片段5、基于移位寄存器的除法、LSB 优先、它的工作方式非常完美。
MSP430F6659具有一个硬件 CRC 模块、我想使用它、因为它是更快、更巧妙的解决方案。
这是我迄今为止测试过的代码、但与软件解决方案相比、它未提供正确的结果:
unsigned int i、crc_result、crc_Init = 0x3791; CRCRESR = CRC_Init;// CRCINIRES = CRC_Init; for (i=0;i <length; i++) { CRCDIRB = STRING[i]; } CRC_RESULT = CRESR; return (CRC_RESULT);
我尝试使用反向(见上文)和非反向寄存器、但非反向版本似乎起作用。
请帮助
此致
格尔德