查找可用的串口
QList<QSerialPortInfo> localAvailablePorts = QSerialPortInfo::availablePorts();
//构造串口实例
QSerialPort *serial = new QSerialPort;
serial->setPortName("COM4");//设置串口名
serial->open(QIODevice::ReadWrite);//打开串口
serial->setBaudRate(9600);//设置波特率
serial->setDataBits(QSerialPort::Data8);//设置数据位
serial->setParity(QSerialPort::NoParity);//设置校验位
serial->setStopBits(QSerialPort::OneStop);//设置停止位
serial->setFlowControl(QSerialPort::NoFlowControl);//设置流控制
//设置串口回调
QObject::connect(serial, &QSerialPort::readyRead, this, &MainWindow::Read_Data);//设置串口读取信号
//读取接收到的数据
void MainWindow::Read_Data()
{
QByteArray buf = serial->readAll();
if(!buf.isNull()){
QString old = ui->textEdit->toPlainText();
QString str = old + buf;
ui->textEdit->clear();
ui->textEdit->setPlainText(str);
}
buf.clear();
}
//关闭串口
serial->clear();//清理串口缓冲区数据
serial->close();//关闭串口
serial->deleteLater();