Qt 实时检测串口是否断开

发布时间 2023-09-11 13:26:27作者: 一杯清酒邀明月

一、目的

在程序运行过程中(串口已打开的情况下),人为的误操作,导致串口断开,避免出现未知的异常,所以在程序中添加此代码,实时检测串口是否断开。

二、代码

1.连接

1 qRegisterMetaType<QSerialPort::SerialPortError>("CRunThread");
2 connect(&m_DAQpro.m_serial, &QSerialPort::errorOccurred,this, &CRunThread::handleSerialError);

2.槽函数

1 void CRunThread::handleSerialError(QSerialPort::SerialPortError)
2 {
3     if(m_DAQpro.m_serial.error() ==  QSerialPort::ResourceError && m_DAQpro.m_serial.isOpen())
4     {
5         emit sig_ShowMsg("请检查串口连接",false);
6     }
7 }