gpt4 book ai didi

c++ - Qt QSerialport拔出设备未关闭

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:26 25 4
gpt4 key购买 nike

QSerialPort 无法在 rasbian 系统中关闭未插入的设备。任何方法关闭并重新连接端口。这段代码可以工作,但我很快拔掉并插入它就不起作用了。我认为连接插头时串行不会中断:

    serial->close();
serial = new QSerialPort(this);
serial->setPortName("/dev/ttyUSB0");
serial->setBaudRate(QSerialPort::Baud115200);
serial->setDataBits(QSerialPort::Data8);
serial->setParity(QSerialPort::NoParity);
serial->setStopBits(QSerialPort::OneStop);
serial->setFlowControl(QSerialPort::NoFlowControl);
if(serial->open(QIODevice::ReadWrite)){
qDebug() << "Hata yok";
}
else {
qDebug() << "Hata var";
}

最佳答案

拔掉插头时可能会发出错误SIGNAL,因此将错误SIGNAL连接到SLOT来处理它,如下所示:

QObject::connect(serial, SIGNAL(error(QSerialPort::SerialPortError)), this,
SLOT(handleError(QSerialPort::SerialPortError)));

void Widget::handleError(QSerialPort::SerialPortError error)
{
if (error == QSerialPort::ResourceError)
{
QMessageBox::critical(this, tr("Critical Error"), serial->errorString());
serial->close();
}
}

关于c++ - Qt QSerialport拔出设备未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53028882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com