【发布时间】:2012-09-06 05:03:46
【问题描述】:
我有格式的onr协议
\003LLCCDDDD..DDXX
- LL:不包括注意字节的总数据包长度。
- CC:命令代码。
- DD:数据字节(十六进制 ASCII)。
- XX:LLCCDDDD..DD 的校验和(不包括注意字节和校验和本身)。校验和是命令包中 ASCII 字符的简单 8 位总和。
这是一个例子:
Command: “\0030611C8” (Length=6, command=0x11, checksum=0xC8)
我只想知道校验和是如何得出的 0xC8 谢谢 :)
【问题讨论】:
-
协议从某些设备发送和接收命令
-
在您的情况下,DATA 字节值是多少。现在长度不是 0x06。
-
@wbao - 它加起来对我来说是 6。 \003 注意字节,后跟 6 个字节
0611C8。 -
@Carl Norum
0611C8仅为 3 字节。 -
@rjayavrp - 不,不是。它是 6 个 ASCII 字节。那是一个 C 字符串,由 ASCII 编码的字节组成 - 不是 3 个本机十六进制字节的打字表示。它在 OP 的帖子中说:“DD:数据字节(以 HEX ASCII 格式)。”