1、需要在pro文件中加入:
QT += serialport
2、串口具体使用
//查找可用的串口
QList<QSerialPortInfo> localAvailablePorts = QSerialPortInfo::availablePorts();
serial = new QSerialPort;//创建串口通信类
serial->setPortName(ui->PortBox->currentText());//设置串口名
serial->open(QIODevice::ReadWrite);//打开串口
serial->setBaudRate(ui->BaudBox->currentText().toInt());//设置波特率
switch(ui->BitNumBox->currentIndex()){//设置数据位数
case 5:
serial->setDataBits(QSerialPort::Data5);
break;
case 6:
serial->setDataBits(QSerialPort::Data6);
break;
case 7:
serial->setDataBits(QSerialPort::Data7);
break;
case 8:
serial->setDataBits(QSerialPort::Data8);
break;
default:
serial->setDataBits(QSerialPort::Data8);
break;
}
switch(ui->ParityBox->currentIndex()){//设置奇偶校验
case 0:
serial->setParity(QSerialPort::NoParity);
break;
case 1:
serial->setParity(QSerialPort::OddParity);
break;
case 2:
serial->setParity(QSerialPort::EvenParity);
break;
default:
serial->setParity(QSerialPort::NoParity);
break;
}
switch(ui->StopBox->currentIndex()){//设置停止位
case 1:
serial->setStopBits(QSerialPort::OneStop);
break;
case 2:
serial->setStopBits(QSerialPort::TwoStop);
break;
default:
serial->setStopBits(QSerialPort::OneStop);
break;
}
serial->setFlowControl(QSerialPort::NoFlowControl);//设置流控制
QObject::connect(serial,&QSerialPort::readyRead,this,&MainWindow::Read_Data);//读取回调
//读取串口数据
QByteArray buf = serial->readAll();
//写入串口数据
serial->write(buf);
//清理缓存数据
serial->clear();
//关闭串口
serial->close();
3、具体例程: