QT 串口接收数据不完整解决方法

由于第一次用QT写串口助手的时候,发现接收数据的时候,数据不完整,或者分多次。

1、第一个解决方法使用Pipe的方式来实现,每次接收的数据放到pipi->buf里,pipi->in本次接收相应的字节 pipi-> sum是接收的总字节数。这样所有的数据都会接收到pipi->buf里面。我想了一下看看其他办法能不能解决这个。

2、后来发现通过定时器进行30ms延时也可以,在每次调用串口接收数据前先进行延时。也可接收完整。

3、通过调用 serial->waitForReadyRead(10)阻塞函数,也可以读取完整。

 

你可能感兴趣的:(QT 串口接收数据不完整解决方法)