我有格式的onr协议
\003LLCCDDDD..DDXX
这是一个例子:
Command: “\0030611C8” (Length=6, command=0x11, checksum=0xC8)
我只想知道校验和如何成为0xC8 thnx:)
答案 0 :(得分:5)
正如您对协议的描述所述,校验和是不是注意字节或校验和的字节总和。总共有7个字节的传输:
'\003', '0', '6', '1', '1', 'C', '8'
其中,\003
是注意字节,因此它不包含在校验和中。同样,最后两个字符是校验和,并且不包括在内。您的示例只留下4个字符:
'0', '6', '1', '1'
将这些字符转换为十六进制表示(检查ASCII table)以使其更易于添加,从而得出以下结果:
0x30, 0x36, 0x31, 0x31
然后将这些值一起添加并获取:
0xC8
您正在寻找的答案是什么!
答案 1 :(得分:1)
这是我的猜测:
你的校验和目标代码是0611
让我们这样做:
ASCII(0)= 48,ASCII(6)= 54,ASCII(1)= 49;
得到4个ASCII的总和是200 = 0xC8