RFID协议中CRC如何计算
从 RFID 设备读取数据时,您会在有效负载上发现 CRC-CCITT。 “CRC 初始化为 0x3791,而不是通常的值 0xFFFF。”我如何定义检查 CRC 是否正常的函数。
示例
数据:{0x02、0x40、0x00、0x00、0x00、0x00、0xA0} CRC: { 0x60, 0xE7 }
另一个示例
数据: { 0x02, 0x41, 0x00, 0x00, 0x00, 0x00, 0xA4 }
CRC:{0x6F,0xA5}
When reading data from a RFID device you will find a CRC-CCITT over the payload. "The CRC is initialized with 0x3791 instead of the usual value 0xFFFF." How can I define the function, that checks that the CRC is ok.
sample
data: { 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0xA0 }
CRC: { 0x60, 0xE7 }
another sample
data: { 0x02, 0x41, 0x00, 0x00, 0x00, 0x00, 0xA4 }
CRC: { 0x6F, 0xA5 }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实现此功能的唯一方法是实施逐位算法(TMS37157 数据表图 52)。
The only way I could get this to work was by implementing the bit-by-bit algorithm (TMS37157 datasheet Figure 52).
更紧凑的实现(伪代码)是:
这可以在以下代码片段 5 中找到:
http:// en.wikipedia.org/wiki/Computation_of_circlic_redundancy_checks
A more compact implementation( in pseudo code ) is:
This can be found in Code Fragment 5 of:
http://en.wikipedia.org/wiki/Computation_of_cyclic_redundancy_checks