ZHCU951A March 2018 – April 2022
计算校验和及数据长度时将不考虑字节流中是否存在起始字符和任何转义字符。计算校验和时不包括起始字符。转义字符替换为解释的数据,用于计算校验和。
例如,如果主器件需要发送背光值 0xA55A (42330)(有关背光命令的说明,请参阅Topic Link Label3.2.1),不带起始字符和转义字符的原始数据如下所示:
CMD | LEN | D0 | D1 | CKSUM |
0x00 | 0x02 | 0xA5 | 0x5A | 0x01 |
字节流包含 0xA5 和 0x5A,因此需要对其进行适当遮蔽。此外,起始字符也应该在实际 CMD 字节之前发送。请注意,校验和无变化(起始字符和转义字符没有加到校验和中)。
字节 0 | 字节 1 | 字节 2 | 字节 3 | 字节 4 | 字节 5 | 字节 6 | 字节 7 |
START | CMD | LEN | D0 | D0 | D1 | D1 | CKSUM |
0xA5 | 0x00 | 0x02 | 0x5A | 0X00 | 0x5A | 0x5A | 0x01 |
接收到上述字节流时,Piccolo 将字节 3 和字节 4 一同视为值为 0xA5 的单个字节,并将字节 5 和字节 6 一同视为值为 0x5A 的单个字节。
更多示例,请参阅Topic Link Label4.2。