在CLion中使用QSerialPort,可以按照以下步骤进行操作:
cmake_minimum_required(VERSION 3.17)
project(MySerialPortProject)
set(CMAKE_CXX_STANDARD 14)
find_package(Qt5 COMPONENTS Core SerialPort REQUIRED)
add_executable(MySerialPort main.cpp)
target_link_libraries(MySerialPort Qt5::Core Qt5::SerialPort)
#include <QCoreApplication>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 获取可用的串口列表
QList<QSerialPortInfo> portList = QSerialPortInfo::availablePorts();
foreach (const QSerialPortInfo &portInfo, portList) {
qDebug() << "Port Name: " << portInfo.portName();
qDebug() << "Description: " << portInfo.description();
qDebug() << "Manufacturer: " << portInfo.manufacturer();
qDebug() << "System Location: " << portInfo.systemLocation();
qDebug() << "Vendor Identifier: " << portInfo.vendorIdentifier();
qDebug() << "Product Identifier: " << portInfo.productIdentifier();
qDebug() << "Busy: " << portInfo.isBusy();
qDebug() << "===================================";
}
// 打开串口
QSerialPort serialPort;
serialPort.setPortName("COM1"); // 替换为实际的串口名
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() << "Serial port opened successfully.";
// 读取串口数据
QByteArray data = serialPort.readAll();
qDebug() << "Received data: " << data;
// 写入串口数据
QByteArray sendData = "Hello, Serial Port!";
serialPort.write(sendData);
qDebug() << "Data sent: " << sendData;
} else {
qDebug() << "Failed to open serial port.";
}
serialPort.close(); // 关闭串口
return a.exec();
}
以上代码演示了如何使用QSerialPort在CLion中进行串口通信。你可以根据实际需求进行修改和扩展。
推荐的腾讯云相关产品:腾讯云物联网开发平台(Link IoT Edge),该平台提供了丰富的物联网开发工具和服务,可用于构建和管理物联网应用。详情请参考:腾讯云物联网开发平台
注意:本答案中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,如需了解更多相关产品和服务,请自行搜索或访问官方网站。
领取专属 10元无门槛券
手把手带您无忧上云