通信与联调

info
页面定位

本页按“先确认链路,再确认协议,最后确认业务逻辑”的顺序整理联调入口。完整项目细节保留在对应专题页。

1 通用联调顺序

  1. 物理层:确认供电、共地、TX/RX交叉、电平制式和线序。
  2. 设备层:确认串口号、波特率、IP、端口及驱动是否存在。
  3. 原始数据层:先持续打印原始字节或网络帧,证明链路一直在线。
  4. 协议层:核对帧头、长度、大小端、校验、换行符和超时策略。
  5. 状态机层:检查命令是否被旧任务、保护条件或超时逻辑覆盖。
  6. 闭环层:最后再调PID、视觉阈值和业务参数。
warning
Warning

“偶尔收到一帧”不能证明通信稳定;“控制器数值正常”也不能证明物理方向正确。联调日志至少要同时记录时间戳、原始输入、解析结果、当前状态和最终输出。

2 串口与视觉主控

串口无数据时

  • 确认双方共地,TX接对方RX。
  • 检查3.3 V/5 V电平兼容性。
  • 两端先固定相同波特率和8N1。
  • 主控先用中断/DMA接收原始字节,不要一开始就只看解析后的结构体。
  • 摄像头程序重启后,检查串口对象是否重新初始化以及旧端口是否仍被占用。

有数据但命令不执行时

  • 保存原始帧,确认帧头、长度和结尾字符。
  • 记录解析后的命令及当前任务状态。
  • 检查任务是否被安全保护、自动回中或旧状态机覆盖。
  • 对重复命令设计去重,对关键命令设计确认或状态回报。

3 远程与板端环境

网络不通时

  • 板端和电脑分别查看IP、掩码和默认路由。
  • 依次测试本机网卡、同网段地址、目标IP和目标端口。
  • 多网卡环境要确认实际出站接口,避免无线网、USB网卡、虚拟网卡抢路由。
  • SSH能连接但VNC不能连接时,分别检查桌面会话、VNC进程和5900端口,不要继续改SSH。

4 推荐日志字段

timestamp, source, raw_frame, parsed_command, state,
sensor_value, target, output, error_code

现场调参时不要只截取“成功的一轮”。失败轮、人工干预和外界扰动也要标注,否则很容易把偶然结果当成有效参数。

5 延伸专题(待补充)

下面是尚未形成完整文章的方向;在内容和验证步骤补齐前,不把它们当成现成方案:

  • ESP32-C3 Wi-Fi TCP 串口桥;
  • 电脑端 Python 遥测、PID 下发和 CSV 记录工具;
  • 主控端通用命令解析与遥测模块;
  • IMU 无线监测、姿态显示与数据记录方案。

已有实测链路请直接阅读 MaixCAM + STM32 串口联调 和 2026 年 TI 杯 H 题复盘,不要在本页重复复制项目代码。