当前位置: 首页 > news >正文

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();
http://www.cnnetsun.cn/news/102741.html

相关文章:

  • 梅豆角矮砧密植:水肥一体化系统的铺设要点
  • GPT-5.2正式发布!国内首发“喂饭级”使用教程
  • Caddy:把 HTTPS 变成默认选项的现代 Web 服务器
  • Q-learning 算法 —— 无模型(model-free)强化学习
  • 如何避免过拟合?EmotiVoice在小样本下的鲁棒性设计
  • JavaScript 动态网页开发核心问题及实现页面动态更新方法
  • Python中append()方法的使用、原理及效率解析
  • 评管理信息系统教材:过时问题、理论实践结合及专业适配性
  • 生产执行系统怎么选?2025年制造业高性价比MES系统推荐
  • MuJoCo逆向运动学实战:从理论到人形机器人运动重定向的完整指南
  • 降aigc提示词排名:10大工具+高效推荐
  • Obsidian Linter完整使用指南:让你的笔记格式统一专业
  • 理工科标题规范:8大平台+工具示例排名
  • 揭秘Vanna:用自然语言解锁数据库查询的AI黑科技
  • BDInfo终极指南:10分钟掌握蓝光光盘信息分析技巧
  • Tkinter Helper终极指南:5分钟学会可视化GUI界面开发
  • 基于Gradle8.0的插件开发
  • Gradle8.0中Transform的替代方案
  • 47、运维脚本与消息推送:从菜单到弹窗的全面指南
  • 50、脚本与函数的综合应用指南
  • XDM浏览器插件终极指南:5分钟快速上手高速下载神器
  • 如何配置一个!P地址和子网掩码?
  • EmotiVoice项目依赖项精简计划:降低部署复杂度
  • 魔盒项目开发纪实:移动端应用开发
  • 鸿蒙ArkTS与Vue3状态管理对比
  • EmotiVoice能否生成辩论赛语音?逻辑性强语调输出
  • 【必收藏】AI智能体(AI Agent)完全指南:从底层原理到落地实践,打造你的第一个智能体系统
  • 建议收藏:零基础也能玩转AI大模型:提示词工程+微调+RAG实战指南
  • 精度论文:【Class Attention Transfer Based Knowledge Distillation】
  • 邮件防泄露再升级!CACTER EDLP大模型破解隐秘泄露,防护更精准