qt6.6实现多种串口设备通讯实例
时间: 2024-10-08 10:19:14 浏览: 40
在Qt 6.6中,使用内置的`QtSerialPort`模块可以方便地实现多种串口设备(如COM端口、USB转串口等)的通信。以下是一个简单的例子来说明如何建立连接并读写数据:
```cpp
#include <QSerialPort>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSerialPort serialPort("COM1"); // 更改为你实际的串口路径
serialPort.setBaudRate(9600);
serialPort.setDataBits(QSerialPort::Data8);
serialPort.setParity(QSerialPort::NoParity);
serialPort.setStopBits(QSerialPort::OneStop);
if (!serialPort.open(QIODevice::ReadWrite)) {
qDebug() << "Failed to open serial port: " + serialPort.errorString();
return -1;
}
QByteArray writeBuffer("Hello, Serial Port!");
if (!serialPort.write(writeBuffer)) {
qDebug() << "Failed to write data: " + serialPort.errorString();
} else {
qDebug() << "Wrote: " << QString::fromUtf8(writeBuffer);
}
QByteArray readBuffer;
qint64 bytesReceived = serialPort.waitForReadyRead(-1);
while (bytesReceived > 0) {
readBuffer += serialPort.read(bytesReceived);
bytesReceived = serialPort.waitForReadyRead(-1);
qDebug() << "Received: " << QString::fromUtf8(readBuffer);
}
serialPort.close();
return app.exec();
}
```
在这个示例中,我们首先创建了一个`QSerialPort`对象,然后设置了波特率和其他配置。接着尝试打开串口,如果成功就发送一些文本,同时接收从串口接收到的数据。最后关闭串口。
阅读全文