我无法从数据集导出CRC16算法

问题描述 投票:0回答:1

关于CRC16计算的2.3节:

https://www.mennegat.nl/media/shop_item/Mezzo_Doc_1.1.0.pdf

它试图解释如何计算校验和。我有一个工作的例子,计算

d37ccb00526000000014000000

作为校验和:

0825

UDP数据包的整个有效负载为

02d37ccb00526000000014000000082503

设备会响应,因为它是完全可接受的数据包。我似乎无法弄清楚所有示例crc检查以找到0825处的16位匹配项。

我们使用以下16位crc检查,我认为其中没有任何结果输出0825。

https://github.com/sigurn/crc16/blob/master/crc16.go#L26-L48

感谢您的帮助!

crc crc16
1个回答
0
投票

似乎CRC以小尾数格式存储的。使用链接的代码作为基础,初始值为CRC = 0,代码生成的CRC为0x2508,并将其存储为0x08 0x25。

初始值很有可能会导致CRC = 0x0825,但需要更多示例数据。

© www.soinside.com 2019 - 2024. All rights reserved.