Qt 串口助手

本文介绍了如何使用Qt的QSerialPort和QSerialPortInfo类创建串口助手,涵盖了串口类的基本用法、UI实现、打开/读写数据、设置数据缓冲、同步异步操作以及进制转换等技巧。同时,文章提到了中文乱码问题及其解决方案。

Qt 串口助手

关键词: Qt QSerialPort QSerialPortInfo 串口助手

之前有讲到Stm32的串口,从硬件的原理图到制作Stm32的开发板,再到Stm32的串口驱动程序。
这一章我们来看看我们用来接收串口数据的上位机------串口调试助手。

Qt已经帮我们封装好了两个类 QSerialPort 和 QSerialPortInfo,
使用这两个类就能很容易的写出一个串口调试助手了。

主要内容:

  • Qt 串口类,QSerialPort和QSerialPortInfo基本用法
  • Qt 串口类的 Ui 实现
  • 实现串口的基本功能
  • Qt 串口的一些使用技巧。

文档参考:

最新地址: https://taotaodiy-qt.readthedocs.io/en/latest/project/serialPort.html

serialPort001

Qt 串口类

首先我们来了解一下这两个基本类。

要使用串口类 需要在工程文件,pro文件中添加 QT += serialport

QSerialPortInfo

从类名上来看,这个类的功能大概就是串口信息了。
这个类的主要用法也就是来查询设备的串口信息,比如端口的名称,系统位置,描述和制造商等等。

例如调用 QSerialPortInfo 的静态函数 availablePorts()
就能获取目前计算机的所有连接的COM口列表,在初始化的时候用来查询可用串口

foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
{
    qDebug()<<"Name:"<<info.portName();
    qDebug()<<"Description:"<<info.description();
    qDebug()<<"Manufacturer:"<<info.manufacturer();
}

更多 QSerialPortInfo 参考 https://doc.qt.io/qt-5/qserialportinfo.html#details

QSerialPort

QSerialPort 就包含了串口的所有操作接口,初始化串口,读写数据等等。

初始化串口的时候,我们需要对串口进行设置。像之前Stm32一样,要设置串口的波特率,停止位,校验位。
这些,Qt都提供了接口,我们只需要调用该特定函数,传入我们想要的参数即可。

QSerialPort继承自QIODevic,串口被抽象成设备文件,我们只需要调用统一的接口,open()、read()、write()、close(),
就能完成串口的打开、读数据、写数据、关闭等等。

QSerialPort 还有一组信号,常用的包括 errorOccurred()readyRead()
,在使用过程中, 通过关联信号和槽来监控串口收到数据和串口发生错误。

下面是 QSerialPort 头文件和构造函数

# 使用 QSerialPort 之前先添加
QT+= serialport

# 头文件
#include <QSerialPort> //串口访问
#include <QSerialPortInfo> //串口端口信息访问

# QSeri
Qt串口助手可用于串口调试,以下是其使用、下载及相关信息: ### 下载资源 - 一个完整的Qt串口调试助手资源文件可从相关仓库下载,该资源文件适用于需要进行串口调试的开发者[^1]。 - 一份经过整理的Qt串口助手源码可下载,该源码基于Qt框架开发,实现了串口通信的基本功能,且尽量去除了不必要的控制代码,并优化了文件结构。下载时注意不要使用中文路径,以免出现路径识别错误。源码来源于博客文章,原文链接已删除,可参考博客地址:http://blog.youkuaiyun.com/mao19931004/article/details/51852573 [^2]。 ### 使用方法 #### 完整资源文件使用方法 1. 从仓库下载完整的资源文件。 2. 将资源文件导入到Qt项目中。 3. 编译并运行项目,即可使用串口调试助手进行调试。使用前需确保开发环境已正确配置Qt及相关依赖库 [^1]。 #### 源码使用方法 1. 确保开发环境已安装Qt,并配置好相关环境。 2. 将源码下载到本地,注意不要使用中文路径。 3. 在Qt Creator中打开项目,或者使用命令行编译。 4. 编译并运行程序,开始体验Qt串口助手功能。编译时尽量在顶层目录下进行,避免使用中文路径名 [^2]。 ### 相关注意事项 - 使用完整资源文件时,需确保开发环境已正确配置Qt及相关依赖库;使用过程中遇到问题可进行反馈 [^1]。 - 下载源码时不要使用中文路径,编译时尽量在顶层目录下进行,避免使用中文路径名 [^2]。 ### 其他相关信息 - Qt Maintenance Tool是Qt安装包的一部分,用于管理Qt的安装、更新和配置模块,可在安装后的Qt环境中添加或移除组件,例如QtSerialPort模块、不同版本的Qt库、Qt Creator等 [^3]。 - 调用`mSerialPort->write`函数时,因该函数输入参数类型是`char *data`,需要将`ui->TE_serialSendText`中的内容由`Qstring`转化为`string`再转化为`char*`,示例代码如下: ```cpp void Dialog::on_PB_serialSend_clicked() { mSerialPort->write(ui->TE_serialSendText->toPlainText().toStdString().data()); } ``` [^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪贪贪丶慎独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值