效果图
实现流程
1.打开串口设备 open(/dev/xxxx, O_RDWR);
2.配置串口设备(波特率 、数据位 8b、停止位 1b 和校验,无硬件流控模式)
3.发送数据, 接收数据
4.关闭串口设备
撰写代码
1、在工程文件中添加串口模块 QT+= serialport
#include <QSerialPort>
#include <QSerialPortInfo>
2、获取所有串口设备
//获取当前设备上的所有串口
QList<QSerialPortInfo> infos = QSerialPortInfo::availablePorts();
foreach (QSerialPortInfo info, infos) {
ui->comboBox_d->addItem( info.portName() );
}
3、配置串口(波特率 、数据位 8b、停止位 1b 和校验)
//配置串口属性
mserial.setBaudRate(115200);//波特率
mserial.setDataBits(QSerialPort::Data8);//设置数据位
mserial.setStopBits(QSerialPort::OneStop);//设置停止位
mserial.setParity(QSerialPort::NoParity);//无校验
4、打开串口
mserial.open(QIODevice::ReadWrite)
5、发送数据
QString msg = ui->textEdit->toPlainText();
mserial.write(msg.toUtf8());
6、接收数据
connect(&mserial, &QSerialPort::readyRead, this, &ComWin::read_data);
void ComWin::read_data()
{
//读取串口数据
QString msg = mserial.readAll();
qDebug()<<msg ;
}
7、关闭串口
mserial.close();