LTO CM CRC功能

时间:2016-02-18 00:31:29

标签: c crc

我正在寻找一些关于编写C函数来计算LTO RFID芯片的16位CRC的建议。

规范说:

  

对于受16位CRC保护的命令和数据,   生成多项式应为G(x)= x16 + x12 + x5 + 1 CRC字节   应通过生成器处理所有字节来生成   电路。见图F.11。寄存器R0至R15应为1位宽   其中R0应为最低有效位,R15为最高有效位   重要的一点。这些寄存器应在之前设置为(6363)   开始处理。字节应按顺序送入   编码器,最低有效位优先。在字节之后   处理后,R0的内容为CRC0,且最小   重要的一点。 R15的含量为CRC15,应为最多   重要的一点。

但我只是一个谦虚的自学C程序员,这对我来说毫无意义。

有人可以帮我提供一些代码或公式的解释吗?

1 个答案:

答案 0 :(得分:0)

ECMA 319 Standard中的图表显示了该怎么做:

shift register

虽然它包含错误。 R11和R10之间的异或应该有另一个输入从R15接通电线。

来自输入的位来自顶部的导线,从第一个输入字节的最低有效位开始。在每个时钟,每个寄存器设置为其输入。圆圈中的加号是独占或门。

您可以使用逐位操作^&>>在C中实现此功能。享受!