QT5串口通讯代码示例

这篇博客介绍了在Qt 5.6.1环境下进行串口通讯的代码示例,强调了如何在工程文件.pro中添加必要的设置,并详细说明了如何绑定串口数据信号readyRead到槽函数readyReadSlot,以便在串口接收到数据时执行读取操作。
摘要由CSDN通过智能技术生成

Qt版本:5.6.1

1、工程文件.pro添加

QT += serialport


2、串口参数配置

头文件

#include<QtSerialPort/QSerialPort>    //提供访问串口的功能
#include<QtSerialPort/QSerialPortInfo>//提供系统中存在的串口的信息
需要QSerialPort对象(serial) 对串口的名称、波特率、数据位、校验位、停止位、控制流等参数。

绑定串口数据信号,当串口有数据可以读的时候,会触发信号readyRead,将其绑定到槽readyReadSlot函数,在槽函数进行数据读取。

    //设置串口名 
    serial->setPortName(ui->comBoxSerialName->currentText());
    //打开串口
    if(!serial->open(QIODevice::ReadWrite))
    {
        QMessageBox::information(this, "error","the failed 
Qt5提供了串口通讯的类QSerialPort,可以方便地实现串口通讯功能。下面是一个简单的串口通讯代码示例: ```cpp #include <QCoreApplication> #include <QSerialPort> #include <QSerialPortInfo> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 获取串口信息 QList<QSerialPortInfo> serialPortInfos = QSerialPortInfo::availablePorts(); foreach(const QSerialPortInfo &serialPortInfo, serialPortInfos) { qDebug() << "串口名称:" << serialPortInfo.portName(); qDebug() << "描述:" << serialPortInfo.description(); qDebug() << "制造商:" << serialPortInfo.manufacturer(); 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() << "串口已打开"; // 读取数据 QByteArray readData = serialPort.readAll(); qDebug() << "读取到的数据:" << readData; // 写入数据 QByteArray writeData = "Hello, Serial Port!"; qint64 bytesWritten = serialPort.write(writeData); qDebug() << "已写入 " << bytesWritten << " 字节数据"; // 关闭串口 serialPort.close(); } else { qDebug() << "串口打开失败"; } return a.exec(); } ``` 以上是一个简单的串口通讯代码示例,其中包括了串口的打开、读取、写入和关闭等操作。开发者可以根据实际需求修改串口名、波特率、数据位、校验位、停止位等参数,来实现不同的串口通讯功能。QtCore提供了丰富的串口通讯API,可以满足不同场景下的串口通讯需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值