最近在设备的测试工装时,通过串口,向设备发送自定义规约,其报文的枕结构已经编写,使用串口助手调试,设备可正常回复,但是通过工装,接收报文会不完整,导致解析失败.使用qDebug打印出来却发现数据被分成了两部分甚至更多部分依次打印,之后通过验证确定了问题出在readyRead的信号与槽这一部分,当回复报文字节较多,报文会进行分帧. 其实可以搜到,解决方法有很多种,比如:通过数据的帧头帧尾,以及某个字节的特殊判断,进行判断是否为完整数据帧.通过帧头和数据帧长来判断完整帧,然后使用定时器增加重发机制,