#include <QCoreApplication>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QDebug>
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
// 检查可用的串口
qDebug() << "可用的串口:";
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
qDebug() << "名称:" << info.portName() << " 描述:" << info.description();
}
// 打开串口
QSerialPort *serialPort = new QSerialPort;
serialPort->setPortName("COM1"); // 请替换为你的串口名称
serialPort->open(QIODevice::ReadWrite);
serialPort->setBaudRate(QSerialPort::Baud9600);
serialPort->setDataBits(QSerialPort::Data8);
serialPort->setParity(QSerialPort::NoParity);
serialPort->setStopBits(QSerialPort::OneStop);
serialPort->setFlowControl(QSerialPort::NoFlowControl);
if (!serialPort->open(QIODevice::ReadWrite)) {
qDebug() << "无法打开串口";
return -1;
}
// 写入数据
serialPort->write("Hello Serial!\n");
// 读取数据
while(serialPort->waitForReadyRead(1000)) {
QString inputData = serialPort->readAll();
qDebug() << "接收到数据:" << inputData;
}
// 关闭串口
serialPort->close();
return a.exec();
}
这段代码首先使用QCoreApplication初始化应用程序,然后使用QSerialPortInfo列出可用的串口。接着,它创建一个QSerialPort对象,设置串口参数,尝试打开串口,并通过write函数发送数据。使用waitForReadyRead等待数据,然后使用readAll读取数据,并通过qDebug输出到控制台。最后,关闭串口并返回。这个例子展示了如何在Qt中使用串口进行基本的通信。