本帖最后由 cube 于 2021-6-1 23:47 编辑
头码、尾码、命令、长度这四个是固定的
头码、尾码、命令、长度、校验码占5个字节、数据占11个字节,共0x10个字节
校验码 采用你们协商的校验方式计算出校验码 校验码=头码^命令^长度^Byte1^…Byte11
这里有个奇怪的问题,命令码是0xcx ,0xcx是多少?
另外长度是否是固定的,我保持存疑态度。或许也可以这样: 0x5a 0xcx 0x0A Byet1-Byte5 校验码 0xa5
字节序号, 比如第一个字节的数据Byte1 , 每一位标识了不同的功能(详见你贴出的附表 )。
你只需要按照你需要表达的功能为每一个字节、每一位分别赋值,然后用校验算法算出校验码就行了。
文档已经给的很详细了。
比如 0x5a 0xcx 0x10 Byte1=0x00 ......... 0xa5
头码 |
命令 |
长度 |
Byte1 |
...Byte11 |
校验码 |
尾码 |
0x5a |
0xcx |
0x10 |
0x00 |
...Byte11 |
校验码 |
0xa5 |
0x5a |
0xcx |
0x10 |
b0000,0000 |
...Byte11 |
校验码 |
0xa5 |
0x5a |
0xcx |
0x10 |
查表得: 开机 解锁,公里单位,关闭巡航,非零启动,1挡 |
...Byte11 |
校验码 |
0xa5 |
比如 0x5a 0xcx 0x10 Byte1=0x01 ......... 0xa5
头码 |
命令 |
长度 |
Byte1 |
...Byte11 |
校验码 |
尾码 |
0x5a |
0xcx |
0x10 |
0x01 |
...Byte11 |
校验码 |
0xa5 |
0x5a |
0xcx |
0x10 |
b0000,0001 |
...Byte11 |
校验码 |
0xa5 |
0x5a |
0xcx |
0x10 |
查表得: 开机 解锁,公里单位,关闭巡航,非零启动,2挡 |
...Byte11 |
校验码 |
0xa5 |
比如 0x5a 0xcx 0x10 Byte1=0x81 ......... 0xa5
头码 |
命令 |
长度 |
Byte1 |
...Byte11 |
校验码 |
尾码 |
0x5a |
0xcx |
0x10 |
0x81 |
...Byte11 |
校验码 |
0xa5 |
0x5a |
0xcx |
0x10 |
b1000,0001 |
...Byte11 |
校验码 |
0xa5 |
0x5a |
0xcx |
0x10 |
查表得: 关机 解锁,公里单位,关闭巡航,非零启动,2挡 |
...Byte11 |
校验码 |
0xa5 |
|