串口数据监控软件开发总结
1.飞控发送太快,串口传输太慢,导致大量数据包粘包,残包,丢失
本次针对串口数据解析,就使用了一个1k的buf作为缓冲,用递归函数解包,打包。线程只做读取,单独开子线程处理数据。
- 2套半物理设备运行速度不一样,所以故障现象不一样
- 这次是使用串口助手抓取数据,偶然间发现一包数据里面有多个包粘黏,残包。
- 使用互斥锁重复释放,崩溃,应该使用自动锁
- 多线程通信,必须使用互斥锁
1.飞控发送太快,串口传输太慢,导致大量数据包粘包,残包,丢失
本次针对串口数据解析,就使用了一个1k的buf作为缓冲,用递归函数解包,打包。线程只做读取,单独开子线程处理数据。