Qt项目经常会跟硬件在一起,这样有一些外接设备需要通信。这就涉及到串口的通信。
QSerialPort
1.使用的时候在 pro 添加这句导入模块 QT += serialport
然后直接引用头文件就可以使用了。
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
QSerialPort:提供访问串口的功能
QSerialPortInfo:提供系统中存在的串口的信息
2.例如我的项目要用到com1串口:
QSerialPort *serial = new QSerialPort;
//设置串口名
serial->setPortName(com1);
//打开串口
serial->open(QIODevice::ReadWrite);
//设置波特率
serial->setBaudRate(BaudRate);
//设置数据位数
serial->setDataBits(QSerialPort::Data8);
//设置奇偶校验
serial->setParity(QSerialPort::NoParity);
//设置停止位
serial->setStopBits(QSerialPort::OneStop);
//设置流控制
serial->setFlowControl(QSerialPort::NoFlowControl);
connect(serial, SIGNAL(readyRead()), this, SLOT(dataReceive())); //数据接收跳转
-
数据接收方法实现:
void MainWindow::dataReceive()
{
QByteArray buf;
buf = serial->readAll(); //读取所有的字节
… //完成你的方法
}
4、发送数据
serial->write(data);
使用write函数便可以把字符串data一个个字节发送出去。
使用串口就只需以上步骤,使用完后只需要执行
serial->close();