一、串口通信设备信息
设备信息 | 描述 |
---|---|
VID | USB Vendor ID(厂商ID),例如:0x1A86 (CH340) |
PID | USB Product ID(产品ID),例如:0x7523 (CH340) |
波特率 | 通讯速率,如 9600 、115200 |
数据位 | 通常为8 |
停止位 | 通常为1 |
二、串口通信协议数据结构
如表1-1所示,其中各部分分别为:
帧头:0XAA
帧长:帧长、控制字、数据位、校验位的长度之和,即数据位长度+4。高位在前
控制命令:通过该字段标识命令。
数据位:需要传递的参数,长度范围是0-2048字节。
校验位:帧长、控制字、数据位的所有字节累加所得的值的低八位。
帧 尾:0x55。
表1-1 串口通讯协议数据结构
命名 | 帧头 | 帧长 | 控制命令 | 数据位 | 校验位 | 帧尾 |
字节 | 1 | 2 | 1 | 0-252 | 1 | 1 |
案例 | 0xAA | 0xXX | 0xXX | […] | 0xXX | 0x55 |
描述 | 定值 | 数据位长度+4 | 可变 | 定值 |
项目举例
速度监测
正常速度范围为 0~30(显示范围:0-120);温度-50~130℃ ;电压 正常电压范围为11.8V至14.8V
下位机发:
Byte0 | Byte1 | Byte2 | Byte 3 | Byte 4-10 | Byte11 | Byte12 |
帧头 | 长度 | 命令字 | 数据 | 校验和 | 帧尾 | |
0xAA | 0x000B | 0x01 | 数据 | Checksum | 0x55 |
数据说明:
Byte4 | 速度高八位 |
Byte5 | 速度低八位 |
Byte6 | 温度符号,1为正,0位负 |
Byte7 | 温度整数位 |
Byte8 | 温度小数位 |
Byte9 | 电压整数位 |
Byte10 | 电压小数位 |
具体数据举例:
命名 | 帧头 | 帧长 | 控制命令 | 数据位 | 校验位 | 帧尾 | ||
字节 | 1 | 1 | 1 | 2 | 3 | 2 | 1 | 1 |
案例 | 0xAA | 0x000B | 0x01 | 00F0 | 003205 | 0b08 | 0xXX | 0x55 |
描述 | 定值 | 数据位长度+4 | 速度:240 | 温度:-50.5 | 电压:11.8 | 定值 |
两轮车胎压监测
胎压 正常胎压范围为 240-250 kPa(显示范围:150-350);温度-50~130℃ ;电压 正常电压范围为11.8V至14.8V
下位机发:
Byte0 | Byte1 | Byte2 | Byte 3 | Byte 4-12 | Byte13 | Byte14 |
帧头 | 长度 | 命令字 | 数据 | 校验和 | 帧尾 | |
0xAA | 0x000D | 0x01 | 数据 | Checksum | 0x55 |
数据说明:
Byte4 | 前胎胎压高八位 |
Byte5 | 前胎胎压低八位 |
Byte6 | 后胎胎压高八位 |
Byte7 | 后胎胎压低八位 |
Byte8 | 温度符号,1为正,0位负 |
Byte9 | 温度整数位 |
Byte10 | 温度小数位 |
Byte11 | 电压整数位 |
Byte12 | 电压小数位 |
具体数据举例:
命名 | 帧头 | 帧长 | 控制命令 | 数据位 | 校验位 | 帧尾 | |||
字节 | 1 | 1 | 1 | 2 | 2 | 3 | 2 | 1 | 1 |
案例 | 0xAA | 0x000D | 0x01 | 00F0 | 00F0 | 003205 | 0b08 | 0xXX | 0x55 |
描述 | 定值 | 数据位长度+4 | 前胎胎压:240 | 后胎胎压:240 | 温度:-50.5 | 电压:11.8 | 定值 |
文章参考链接:AiFlutter