C++ Qt QSerialport已拔出设备未关闭
QSerialPort无法关闭rasbian系统中已拔出的设备。任何方法都可以关闭并重新连接端口。这段代码正在工作,但我很快拔掉并插入它不工作。ı当插头连接时,串行不会断开:C++ Qt QSerialport已拔出设备未关闭,c++,linux,qt,serial-port,usb,C++,Linux,Qt,Serial Port,Usb,QSerialPort无法关闭rasbian系统中已拔出的设备。任何方法都可以关闭并重新连接端口。这段代码正在工作,但我很快拔掉并插入它不工作。ı当插头连接时,串行不会断开: serial->close(); serial = new QSerialPort(this); serial->setPortName("/dev/ttyUSB0"); serial->setBaudRate(QSerialPort::Baud115200); s
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";
}
拔下插头时,可能会发出错误信号,因此将错误信号连接到插槽以如下方式处理:
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();
}
}
以文本而非图片的形式提供代码HI,欢迎使用堆栈溢出。有关如何提问和相应更新问题的更多详细信息,请参阅链接。