我有一个非常旧的设备,我正在通过串行连接。当我发送数据时,它希望用它计算校验和。我将字符串字符的所有 ascii 值相加并将总和转换为 BCD。这会导致非法 BCD 字符,例如 1011。在提供的唯一示例中,它们将 1011 转换为“;”。当我在示例中发送数据时,校验和清除得很好。但是当我使用“;” 对于其他非法字符,它会失败。有人见过“;”的用法吗?之前,如果有的话,有人知道其他非法字符的值是什么吗?
编辑:我的例子:
STX 000 0010
1 011 0001
2 011 0010
3 011 0011
CR 000 1101
A 100 0001
B 100 0010
C 100 0011
CR 000 1101
EXT 000 0011
Total 10111 1011
Convert To BCD 1 0111 1011
Checksum 1 7 ;