首页 > 解决方案 > QSerialport 在 QThread 中被阻塞

问题描述

我试图从一个线程读取串行输出。串行端口在主程序中打开,并将 QSerialPort 变量传递给线程。使用信号和槽机制调用线程,如下面的代码。

connect(m_serial, &QSerialPort::readyRead, this, &MySerialPort::startReadingThread);

然后我在线程中调用 serial.readAll() 函数并将接收到的数据打印到日志中。但是一段时间后,串行端口被阻塞并且不打印任何数据。

 QByteArray message = MySerialPort::m_serial->readAll();
 qDebug() << message;

谁能告诉我为什么串口被阻塞了。

标签: multithreadingqtserial-portqthread

解决方案


推荐阅读