QSerialPort用法

一、在.pro文件添加serialport

QT       += core gui serialport

二、头文件

#include <QSerialPort>
#include <QSerialPortInfo>

三、开启串口

 1 void Widget::on_pushButton_clicked()//自己写的按钮为例
 2 {
 3     QSerialPortInfo info;
 4     QList<QSerialPortInfo> infos=QSerialPortInfo::availablePorts();//获取系统可用的所有串口
 5     int i = 0;
 6     foreach (info, infos) {
 7         if(info.portName() == ui->comboBox->currentText()) break;
 8         i++;
 9     }
10 
11     if(i != infos.size()){
12 
13         serialport.close();//防冲突,先关闭
14         serialport.setPort(info);
15         serialport.open(QIODevice::ReadWrite);//读写模式
16         ui->lineEdit->setText("串口打开成功");
17         switch (ui->budcomboBox->currentIndex()) {//不重要,设置波特率
18         case 0:
19             serialport.setBaudRate(QSerialPort::Baud4800);
20             break;
21         case 1:
22             serialport.setBaudRate(QSerialPort::Baud9600);
23             break;
24         case 2:
25             serialport.setBaudRate(QSerialPort::Baud115200);
26         default:
27             break;
28         }
29     }
30     else{
31         serialport.close();
32         ui->lineEdit->setText("打开失败");
33     }
34 }

四、读写数据

1     QByteArray qa = serialport.readAll();//读数据
2     serialport->write(qa)//写数据

五、关闭串口

    serialport.close();