COM 端口命令 CRC XOR

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

我有一台支票打印机,我想通过COM端口连接到Delphi 7并进行操作。

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

STX "PIRI(781" FS NULL ETX "0B"02 50 49 52 49 28 37 38 31 1c 00 03 30 42 十六进制

手册中有如下内容:

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

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

  • 如何做?对于“PIRI(781”FS NULL ETX)它应该是0B
delphi serial-port delphi-7
1个回答
4
投票

文档错误地将校验值识别为 CRC。它不是。它只是所记录字节的异或。 50 49 52 49 28 37 38 31 1c 00 03 的异或结果是 0b。然后将 0b 转换为十六进制(使用大写 B,即 0B),并得到 30 42。

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