1.前言
Qt5.0以上都是使用官方的串口库,简单几步操作就可以使用。
2.演示
//首先是pro文件加入官方串口库信息
QT += serialport
//mainwindow.h里加入串口头文件
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
QSerialPort代表可以访问串口
QSerialPortInfo代表访问串口的信息
//在源文件写入,打开串口可读取串口查看串口信息
foreach(const QSerialPortInfo &Info,QSerialPortInfo::availablePorts())//读取串口信息
{
qDebug() << "portName :" << Info.portName();//调试时可以看到串口信息
qDebug() << "Description :" << Info.description();
qDebug() << "Manufacturer :" << Info.manufacturer();
QSerialPort serial;
serial.close();
}
这里就用到QSerialPortInfo查看串口信息
//接下来需要创建一个串口的对象
my_serialPort = new QSerialPort(this);
//WINDOWS下COM是串口名称,LINUX下tty是串口名称,在不同的系统环境下需要区分
my_serialPort->setPortName("COM1");
//检测串口是否可以读写,返回值为bool值判断串口是否可用
RWserialPort = my_serialPort->open(QIODevice::ReadWrite);
//接下来是设置串口,下面设置要与下位机串口设置一直否则无法读取或者乱码
my_serialPort->setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);//这里的波特率115200根据你的机器实际情况设置
my_serialPort->setDataBits( QSerialPort::Data8 );//数据字节,8字节
my_serialPort->setParity( QSerialPort::NoParity );//校验,无
my_serialPort->setFlowControl( QSerialPort::NoFlowControl );//数据流控制,无
my_serialPort->setStopBits( QSerialPort::OneStop );//一位停止位
3.总结
Qt的串口设置十分简单,很快就能投入使用,但是在接收数据方面问题有点多,下篇文章说明一下Qt串口的读取方式和问题