news 2026/6/16 10:33:29

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/6/15 2:47:33

PalEdit幻兽编辑器终极指南:如何快速免费打造完美幻兽

PalEdit是一款专为PalWorld游戏设计的强大开源幻兽编辑工具,让玩家能够轻松编辑和生成游戏中的伙伴。无论你是新手还是资深玩家,这款免费工具都能帮助你打造真正属于自己的幻兽世界。 【免费下载链接】PalEdit A simple tool for Editing and Generating…

作者头像 李华
网站建设 2026/6/15 17:56:09

告别迷茫!2026 跨境卖家必看:在平台宏大叙事里锚定自己的增长坐标

当亚马逊的年度数据报告揭示出头部卖家群体的持续扩张与新兴市场的迅猛增长,一个清晰的信号已然释放:跨境电商的舞台并未收缩,而是在剧烈地重构与进化,2026年,平台推出的一系列宏大战略——从AI的深度赋能到低价商城的…

作者头像 李华
网站建设 2026/6/15 8:48:39

30、深入探究 inotify 与内存管理

深入探究 inotify 与内存管理 在 Linux 系统中,文件事件监控和内存管理是非常重要的功能。下面将详细介绍 inotify 机制以及内存管理的相关知识。 1. inotify 添加监控 可以向现有的 inotify 实例添加新的监控,示例代码如下: int wd; wd = inotify_add_watch (fd, &quo…

作者头像 李华
网站建设 2026/6/16 10:50:56

33、Linux 内存管理全解析:从分配到操作的深度探索

Linux 内存管理全解析:从分配到操作的深度探索 1. 内存分配统计 在 Linux 系统中,我们可以使用 mallinfo() 函数来获取内存分配的统计信息。调用该函数会返回一个 mallinfo 结构体,该结构体通过值返回,而非指针。其定义在 <malloc.h> 头文件中,具体内容如下…

作者头像 李华
网站建设 2026/6/10 12:59:16

非支配排序多目标灰狼优化算法(NSGWO)的Matlab实现:包含46个测试函数与工程应用案例,多种...

非支配排序多目标灰狼优化算法(NSGWO) —— Matlab实现测试函数包括ZDT、DTLZ、WFG、CF和UF共46个等&#xff0c;另外附有一个工程应用案例&#xff1b;评价指标包括超体积度量值HV、反向迭代距离IGD、迭代距离GD和空间评价SP等可提供相关多目标算法定制、创新和改进多目标算法…

作者头像 李华
网站建设 2026/6/12 22:02:35

阅读APP书源配置深度优化指南

阅读APP书源配置深度优化指南 【免费下载链接】Yuedu &#x1f4da;「阅读」APP 精品书源&#xff08;网络小说&#xff09; 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 掌握阅读APP书源配置的核心原理&#xff0c;实现从基础使用到高级调优的全方位性能突破。…

作者头像 李华