QSerialPort 打开读取串口示例
时间: 2023-08-15 21:24:02 浏览: 113
好的,以下是一个简单的 QSerialPort 打开读取串口的示例:
```c++
#include <QCoreApplication>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 查找可用的串口
QList<QSerialPortInfo> serialPortInfos = QSerialPortInfo::availablePorts();
qDebug() << "Found " << serialPortInfos.size() << " serial ports:";
foreach (QSerialPortInfo serialPortInfo, serialPortInfos) {
qDebug() << serialPortInfo.portName();
}
// 选择要打开的串口
QSerialPort serialPort;
serialPort.setPortName("COM3");
serialPort.setBaudRate(QSerialPort::Baud9600);
serialPort.setDataBits(QSerialPort::Data8);
serialPort.setParity(QSerialPort::NoParity);
serialPort.setStopBits(QSerialPort::OneStop);
// 打开串口
if (serialPort.open(QIODevice::ReadWrite)) {
qDebug() << "Serial port opened successfully!";
// 读取串口数据
while (true) {
if (serialPort.bytesAvailable()) {
QByteArray data = serialPort.readAll();
qDebug() << "Received data:" << data;
}
}
} else {
qDebug() << "Failed to open serial port!";
}
return a.exec();
}
```
这个示例程序会先枚举可用的串口,然后选择要打开的串口,设置串口参数,打开串口,最后进入一个无限循环,不停读取串口接收缓冲区中的数据并输出。请注意,这个示例程序是一个简单的示例,实际上需要根据具体情况进行调整和优化。
阅读全文