news 2026/5/11 14:46:00

qt串口助手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
qt串口助手

mainWindows.c

构造函数

/*---------- 1. 串口对象初始化 ----------*/ serialPort = new QSerialPort(this); // 创建串口对象,指定父对象自动回收 /* 连接串口的“readyRead”信号到我们的自定义槽函数 */ connect(serialPort, &QSerialPort::readyRead,this,&MainWindow::manual_serialPortReadyRead); /*---------- 2. 扫描当前系统可用串口 ----------*/ ui->portnumber->clear(); // 先清空下拉框 foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) ui->portnumber->addItem(info.portName()); // 把端口号填到下拉框

新建函数

/*===================== 串口数据到达 =====================*/ void MainWindow::manual_serialPortReadyRead() { /* 1. 一次性读取内核缓冲区里当前可用的所有数据 */ QByteArray recBuf = serialPort->readAll(); /* 2. 累加接收字节数 */ recvNum += recBuf.size(); /* 3. 准备用于界面显示的字符串 */ QString str_rev; /* 4. 把原始字节 → 空格分隔的十六进制大写字符串 */ QString hexStr = recBuf.toHex(' ').toUpper(); // 例:"48 65 6C 6C 6F" str_rev += "->" + hexStr; /* 5. 行尾加换行,保证下次数据另起一行 */ str_rev += "\r\n"; // 插入文本并滚动到底部 ui->sendandreceivewindow->moveCursor(QTextCursor::End); ui->sendandreceivewindow->insertPlainText(str_rev); ui->sendandreceivewindow->moveCursor(QTextCursor::End); }

mainwindow.h

public: QSerialPort *serialPort; // 串口对象指针(生命周期与 MainWindow 一致) private: bool m_portOpened = false; // 记录串口是否已经打开 /*---- 收发计数 ----*/ long sendNum = 0; // 已发送字节数 long recvNum = 0; // 已接收字节数 void manual_serialPortReadyRead();
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 21:25:23

AudioShare终极指南:快速实现Windows音频无线同步到安卓设备

AudioShare终极指南:快速实现Windows音频无线同步到安卓设备 【免费下载链接】AudioShare 将Windows的音频在其他Android设备上实时播放。Share windows audio 项目地址: https://gitcode.com/gh_mirrors/audi/AudioShare AudioShare是一款完全免费的跨设备音…

作者头像 李华
网站建设 2026/5/9 17:34:37

35、Linux 帧缓冲设备驱动配置与数据库到文件实用工具指南

Linux 帧缓冲设备驱动配置与数据库到文件实用工具指南 在 Linux 系统中,配置合适的视频驱动和使用数据库到文件的实用工具是非常重要的操作。下面将详细介绍帧缓冲设备驱动的配置以及相关的数据库到文件实用工具。 帧缓冲设备驱动配置 当为硬件找到合适的视频驱动后,需要为…

作者头像 李华
网站建设 2026/5/11 10:25:38

react---JSX完全指南:从基础语法到进阶实战

JSX(JavaScript XML)是 React 生态中最具辨识度的特性之一,它将类 HTML 的语法嵌入 JavaScript 中,让开发者能够以直观的方式编写 UI 结构,同时保留 JavaScript 的逻辑能力。很多开发者最初会将 JSX 误认为是 “HTML 在…

作者头像 李华
网站建设 2026/5/11 10:26:20

34、Linux 内存管理与信号机制深度解析

Linux 内存管理与信号机制深度解析 1. 内存管理 1.1 内核分页行为改变的影响 改变内核的分页行为可能会对系统整体性能产生负面影响。当一个应用程序的页面被锁定在内存中时,为了腾出空间,其他应用程序的页面会被换出。内核会依据其算法选择最优的页面进行换出,即未来最不…

作者头像 李华
网站建设 2026/5/11 9:22:26

EmotiVoice语音合成过程中断重连机制设计思路

EmotiVoice语音合成过程中断重连机制设计思路 在构建现代交互式语音系统时,一个常被低估但至关重要的挑战是:如何让语音合成服务“扛得住”真实世界的不确定性? 设想这样一个场景——用户正在通过手机App收听一段由EmotiVoice生成的长篇有声读…

作者头像 李华