回复: 老问题:串口接收数据(readall),,会换行问题,,希望大家都给点解决意见
#6 [hello_树哥 08-23 10:17]
@lichen221334 你采用这种办法解决了吗
查了下waitForReadyRead的用法:
此功能将阻塞,直到新数据可用于读取并且readyRead()信号已被发出。 该功能将在msecs毫秒后超时; 默认超时时间为30000毫秒。
如果发出readyRead()信号并且有新的数据可供读取,该函数将返回true; 否则返回false(如果发生错误或操作超时)。
亲自测过加上该函数,但是实际上比没有解决,,仍然换行,,,猜想应该是readyread信号发送过多次的原因,,正在测试中,,
#7 [lichen221334 08-24 08:40]
一般发送过多次 是不是你 on_pushButton_4_clicked 这个槽函数链接了 多次 可以check一下
存在换行check一下发送的数据,qDebug()
#8 [yuyu414 08-25 08:24]
接收到的数据存入缓存,根据通讯协议来解析,不要用延时
#9 [sunchenghao 08-28 15:44]
条线短路收发,有没有可能是收发的波特率不一样。
#10 [ketiy2004 01-12 22:26]
1、问题方向出错了,不是串口接收多了换行,而是显示问题!
2、串口接收因为收发异步问题,所以一行数据多次接收,这是正常现象。
3、判断收到的数据,是否包含换行字符,如果是显示的时候换行,如果没有,数据继续在该行尾部显示。