首先,还是先说QSerialPort是Qt5.1引入的,其中一个问题是在读取数据时,采用QIO:Device中的信号readyread,这个信号在处理底层串口缓冲区时,是只要缓冲区一有数据,立马发送这个信号,所以我们在连接这个信号时会发生接收数据不完整(我这边是出现打开串口后,接收第一次的数据少字节)。所以很多人建议不使用这个类,采用QExtSerialPort这个第三方库。但是,如果要求不是很高的,完全可以直接用Qt自带的库编写。
源码如下:
首先,还是先说QSerialPort是Qt5.1引入的,其中一个问题是在读取数据时,采用QIO:Device中的信号readyread,这个信号在处理底层串口缓冲区时,是只要缓冲区一有数据,立马发送这个信号,所以我们在连接这个信号时会发生接收数据不完整(我这边是出现打开串口后,接收第一次的数据少字节)。所以很多人建议不使用这个类,采用QExtSerialPort这个第三方库。但是,如果要求不是很高的,完全可以直接用Qt自带的库编写。
源码如下: