浪费了2天时间在项目里面引入QSerialPort,解决了run()跨线程调用问题,emit 延时问题,readAll()数据完整问题,最后还是在同步的问题上撞墙
我的项目要求:发送命令>>处理返回的消息>>处理下一个指令,需要严格按顺序执行。
QSerialPort问题在于它是非同步的,即便是使用waitForReadyRead()强制等待接收结果,几轮过后还是会出现readAll()无法读取完整的数据情况,而且返回的数据也没有按顺序,搞不清楚内部的缓冲是怎么处理的。
最后很无奈的换回旧版的程序。