关于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以小尾数格式存储的。使用链接的代码作为基础,初始值为CRC = 0,代码生成的CRC为0x2508,并将其存储为0x08 0x25。
初始值很有可能会导致CRC = 0x0825,但需要更多示例数据。