Qt 串口通信(QSerialPort)

本文详细介绍了如何在Qt项目中使用QSerialPort模块进行串口通信。从导入模块、设置串口参数,到数据的接收与发送,提供了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt项目经常会跟硬件在一起,这样有一些外接设备需要通信。这就涉及到串口的通信。
QSerialPort
1.使用的时候在 pro 添加这句导入模块 QT += serialport
然后直接引用头文件就可以使用了。

#include <QtSerialPort/QSerialPort>  
#include <QtSerialPort/QSerialPortInfo> 

QSerialPort:提供访问串口的功能
QSerialPortInfo:提供系统中存在的串口的信息

2.例如我的项目要用到com1串口:

QSerialPort *serial = new QSerialPort;  
//设置串口名  
serial->setPortName(com1);  
//打开串口  
serial->open(QIODevice::ReadWrite);  
//设置波特率  
serial->setBaudRate(BaudRate);  
//设置数据位数  
serial->setDataBits(QSerialPort::Data8);  
 //设置奇偶校验  
 serial->setParity(QSerialPort::NoParity);   
//设置停止位  
serial->setStopBits(QSerialPort::OneStop);  
//设置流控制  
serial->setFlowControl(QSerialPort::NoFlowControl); 
 connect(serial, SIGNAL(readyRead()), this, SLOT(dataReceive()));   //数据接收跳转
  1. 数据接收方法实现:

    void MainWindow::dataReceive()
    {
    QByteArray buf;
    buf = serial->readAll(); //读取所有的字节
    … //完成你的方法
    }

4、发送数据

serial->write(data);  

使用write函数便可以把字符串data一个个字节发送出去。
使用串口就只需以上步骤,使用完后只需要执行

serial->close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值