COM端口命令CRC XOR

时间:2017-01-20 13:13:34

标签: delphi serial-port delphi-7

我想通过 COM端口 Delphi 7 中连接检查打印机并运行。

我有一个用串行端口监视器提取的命令:

STX“PIRI(781”FS NULL ETX“0B”其中 02 50 49 52 49 28 37 38 31 1c 00 03 30 42 hex

手册说明如下:

  

CRC(这是ETX之后的最后两位数字) - 数据包校验和。它   通过以下算法计算:对每个执行XOR   通过排除STX包括ETX的块的字节。的数据   校验和占用两个字节,是符号表示的   十六进制计算系统中的数字。

我尝试使用ONLINE CRC计算器并返回1B结果和27数字。

  • 怎么做?对于“PIRI(781”FS NULL ETX ,它应 0B

1 个答案:

答案 0 :(得分:3)

文档错误地将检查值标识为CRC。它不是。它只是所着字节的异或。 50 49 52 49 28 37 38 31 1c 00 03的异或是0b。然后将0b转换为十六进制(大写字母B,即0B),得到30 42。