最近在写一个上位机软件,用Qt做的,串口通信用的是QSerialport类,使用它本身提供的readyread信号,当有检测到有数据的时候触发我编写的接受处理函数,数据的接收使用
QByteArrary recvdata = serial->readAll();
将得到的recvdata返回,进行每一帧的提取和后续的处理,现在出现一个问题,在波特率是115200的情况下,没有失帧的情况出现,当我把波特率升到921600后,出现严重的失帧情况。下位机给上位机发送的数据是每帧64字节,数据位8位,1位停止位,1位校验位,差不多1.25ms就发送一帧,持续不断地发送。请问该怎么解决失帧的问题。(这个问题拖了挺久,本人代码经验很少,菜鸟类型,这是刚入职的任务,有什么疑问请都提出来,十分想解决这个东西,谢谢)
Qt串口通讯QSerialport接受数据失帧问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-