打开时的QSerialPort错误信号,但打开返回true

QSerialPort error signal on open, but open returns true

本文关键字:true 返回 错误 QSerialPort 信号      更新时间:2023-10-16

我使用的是Qt 5,当我打开串行端口时,打开成功,但会立即收到错误信号。我这样打开端口:

m_serial->setPortName(m_deviceName);
m_serial->setBaudRate(QSerialPort::Baud9600);
m_serial->setDataBits(QSerialPort::Data8);
m_serial->setParity(QSerialPort::NoParity);
m_serial->setStopBits(QSerialPort::OneStop);
m_serial->setFlowControl(QSerialPort::NoFlowControl);
if (m_serial->open(QIODevice::ReadWrite)) {
    qDebug() << "Opened port";
} else {
    qDebug() << "Port error on open:" << m_serial->errorString();
    return;
}

和打开工作(说"打开的端口"),但错误插槽立即报告:

错误编号:0,消息:"没有这样的文件或目录"

为什么会触发此错误?打开后我可以写&读取端口时没有错误(不确定数据是否流动,只是没有错误)

QSerialPort错误枚举表示0实际上没有发生错误,当打开端口以确认没有错误时,可能会触发信号。QSerialPort错误列表如下:http://doc.qt.io/qt-5/qserialport.html#SerialPortError-枚举