有人可以解释如何使用8位二进制加法计算校验和吗?这是文档的摘录:
这是消息的一般形式:
STX | TYPE | FS | DATA | FS | CHK | ETX
Run Code Online (Sandbox Code Playgroud)
STX是HEX 02
ETX是HEX 03
FS是HEX 15
"类型"是唯一的1字节消息标识符(例如,用于轮询消息的"P")."数据"包含可打印的ASCII字符.
校验
校验和是根据所有字符计算的,包括和<FS>之间的所有字符.校验和通过所有包含字符的8位二进制加法计算,其中第8个或奇偶校验位假定为零.超过第8位的数据丢失了.8位结果转换为两个可打印的ASCII十六进制字符,范围从00到FF,然后插入到数据流中.十六进制字符AF是大写的.接收设备重新计算缓冲消息的校验和,并将其与收到的校验和进行比较.比较是后续确认()或传输的否定确认()的基础.<STX><CHK><CHK><ACK><NAK>