# 上位机通信协议指南 ## 串口配置 | 参数 | 值 | |---|---| | 波特率 | 115200 | | 数据位 | 8 | | 停止位 | 1 | | 校验位 | None | ## 帧格式总览 所有帧通过帧头 (SOF) 区分类型,checksum = 帧头到数据末尾前一字节的所有字节累加和取低 8 位。 | 帧头 | 长度 | 用途 | |---|---|---| | 0xA5 | 10 | 自动/视觉追踪数据 | | 0xA6 | 11 | 手动控制数据 | | 0xA7 | 3 | 命令 | | 0xA8 | 50 | 调试调参数据 | --- ## 1. 自动/视觉追踪数据帧 0xA5 (10 字节) **用途**: 视觉识别完成后持续发送跟踪误差。 ``` [SOF:0xA5][error_x:4][error_y:4][checksum:1] ``` | 偏移 | 长度 | 类型 | 含义 | |---|---|---|---| | 0 | 1 | uint8 | 帧头 0xA5 | | 1 | 4 | float | 归一化 X 轴误差 | | 5 | 4 | float | 归一化 Y 轴误差 | | 9 | 1 | uint8 | checksum | **Python 写入示例**: ```python import struct def send_auto_tracking(ser, error_x: float, error_y: float): data = bytearray() data.append(0xA5) data.extend(struct.pack(' int: return sum(data) & 0xFF # 所有字节累加取低 8 位 ``` 校验和覆盖范围:**帧头到数据末尾前一字节**的全部字节。接收端在收到数据后也应计算并比对校验和。