反向CRC计算
Reverse CRC calculation
我正在尝试(未成功)使用 VB.Net 反转计算机和设备之间串行通信的 CRC 计算。我只有几个例子。
命令(用于从设备读取记录):
ff ff ff ff ff 02 01 02 1a 03 aa aa
响应数据:
02 01 0a 1a 3a 00 3b f6 ec 80 79 24 03 7f 7f
02 01 0a 1a 36 00 3c 13 a6 广告 69 24 03 02 02
02 01 0a 1a 12 00 13 6f ba af 69 24 03 df df
02 01 0a 1a 10 00 a7 05 43 2c e9 25 03 57 57
01 是设备 ID。
0一个字节是长度。
1a 是命令(可能)。
数据从字节 00 存储到字节 03。
没有数据时的响应:
02 01 02 2a 03 87 87
我认为最后两个字节是crc。对如何计算它们有帮助吗?
提前致谢。
即 MAXIM CRC-8,具有以下参数:
width=8 poly=0x31 init=0x00 refin=true refout=true xorout=0x00 check=0xa1 name="CRC-8/MAXIM"
来自 RevEng catalog。如评论中所述,消息中重复了 8 位 CRC。 (第一个示例中的五个 0xff
字节不包括在 CRC 计算中。)
您可以使用 crcany 生成该 CRC 的代码。
我正在尝试(未成功)使用 VB.Net 反转计算机和设备之间串行通信的 CRC 计算。我只有几个例子。
命令(用于从设备读取记录):
ff ff ff ff ff 02 01 02 1a 03 aa aa
响应数据:
02 01 0a 1a 3a 00 3b f6 ec 80 79 24 03 7f 7f
02 01 0a 1a 36 00 3c 13 a6 广告 69 24 03 02 02
02 01 0a 1a 12 00 13 6f ba af 69 24 03 df df
02 01 0a 1a 10 00 a7 05 43 2c e9 25 03 57 57
01 是设备 ID。
0一个字节是长度。
1a 是命令(可能)。
数据从字节 00 存储到字节 03。
没有数据时的响应:
02 01 02 2a 03 87 87
我认为最后两个字节是crc。对如何计算它们有帮助吗?
提前致谢。
即 MAXIM CRC-8,具有以下参数:
width=8 poly=0x31 init=0x00 refin=true refout=true xorout=0x00 check=0xa1 name="CRC-8/MAXIM"
来自 RevEng catalog。如评论中所述,消息中重复了 8 位 CRC。 (第一个示例中的五个 0xff
字节不包括在 CRC 计算中。)
您可以使用 crcany 生成该 CRC 的代码。