QT 实现串口/dev/ttyS3数据短接读取的程序
时间: 2023-12-09 18:03:44 浏览: 75
QT串口程序
下面是一个简单的QT程序,用于读取串口(/dev/ttyS3)数据:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QSerialPort>
#include <QSerialPortInfo>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 查找可用的串口
QList<QSerialPortInfo> portInfos = QSerialPortInfo::availablePorts();
qDebug() << "Available ports:";
for (const QSerialPortInfo &portInfo : portInfos) {
qDebug() << " " << portInfo.portName();
}
// 打开串口
QSerialPort serial;
serial.setPortName("/dev/ttyS3");
serial.setBaudRate(QSerialPort::Baud9600);
if (!serial.open(QIODevice::ReadOnly)) {
qCritical() << "Failed to open port" << serial.portName() << ":" << serial.errorString();
return 1;
}
// 读取数据
qDebug() << "Reading data from" << serial.portName() << "...";
while (serial.waitForReadyRead(1000)) {
QByteArray data = serial.readAll();
qDebug() << "Read" << data.size() << "bytes:" << data;
}
// 关闭串口
serial.close();
return 0;
}
```
这个程序首先查找可用的串口,并打印出它们的名称。然后它打开串口/dev/ttyS3,并将波特率设置为9600。接下来,它进入一个循环,等待串口有数据可读,然后读取所有可用的数据,并将其打印到控制台上。最后,它关闭串口并退出程序。
阅读全文