从零开始实现自己的串口调试助手(10) - 优化 收尾 + 打包

光标位置优化


在接收槽函数中更新光标位置:


    // 让光标始终在结尾
    ui->textEditRev->moveCursor(QTextCursor::End);
    ui->textEditRev->ensureCursorVisible(); // 让光标可视化

//记得HEX显示槽函数底下也得加上这两行代码

新的接收槽函数如下:

void Widget::on_SerialData_readToRead()
{
    QString recvMessage = serialPort->readAll();

    if(recvMessage != NULL){
        if(ui->checkBox_Line->isChecked())recvMessage = recvMessage + "\r\n";
        qDebug()<<"get Message: "<<recvMessage;

        if(ui->checkBox_HexDisplay->isChecked()){ // 已经勾选HEX格式
            // 将新收到的数据转为HEX类型
            QByteArray tmpHex = recvMessage.toUtf8().toHex().toUpper();

            // 原来控件上的内容 也转为HEX格式  再拼接
            QString tmpStrOld=ui->textEditRev->toPlainText(); //获得接收框的数据
            tmpHex = tmpStrOld.toUtf8() + tmpHex; // 不能toHex 已经是Hex了
            ui->textEditRev->setText(QString::fromUtf8(tmpHex));
        }
        else{
            if(sendTimeStatus){
                //更新myTime
                getSysTime();

                // 在myTime两边添加方括号
                //            QString myTimeWithBrackets = "【" + myTime + "】";

                //            // 创建一个QString对象,首先添加带方括号的myTime,然后添加sendData
                //            QString result = myTimeWithBrackets + QString(recvMessage);
                //            qDebug()<<result;
                //            ui->textEditRev->append(result);
                ui->textEditRev->insertPlainText("【"+myTime+"】"+recvMessage);
            }
            else{
                ui->textEditRev->insertPlainText(recvMessage);
            }
        }
        readCntTotal += recvMessage.size();
        qDebug()<<"readCnt"<<recvMessage.size();
        //ui->label_RecvCnt->setNum(readCntTotal);
        ui->label_RecvCnt->setText("Receive:"+QString::number(writeCntTotal));
    }

    // 让光标始终在结尾
    ui->textEditRev->moveCursor(QTextCursor::End);
    ui->textEditRev->ensureCursorVisible(); // 让光标可视化

}

实现效果

打包

1. 选中这里的release

2.重新构建项目

3.进入找release文件夹

去我们的文件目录找到对应文件夹

进入地下release文件夹,点击运行.exe文件

会发现缺少一堆qt相关的库

4.添加对齐qt库

先找到我们安装qt的bin目录:

win + r ,输入cmd,打开cmd

切换到release文件夹,运行bin目录下的 windeployqt.exe 指定对象为release文件夹下的.exe文件

运行中

运行结束后我们会看到release路径下生成了一堆qt的配置文件

这时候他仍然缺少几个库。需要去bin里面拷贝过来

如下(请根据弹窗提示拷贝)

5. 打开

再次点击.exe文件,即可打开

6.压缩打包

然后回退到上一层目录,压缩打包release文件夹就可以发送给别人使用了

全部项目

资源里面有我们打包好的项目代码

全部详细实现过程进移步专栏:

从零开始的串口调试助手_mx_jun的博客-优快云博客

串口通讯(第1篇)串口配置+蓝牙通讯 作用:设备间数据通讯的方式分类:协议分为RS-232、RS-422(速度不同) 电平分为:UART电平1为-3~-15V的电压, 逻辑0为3~15V。TTL电平:高电平>=2.4V,输出低电平 阅读详情

相关推荐

串口命令调试的那些骚操作

用内置的串口命令调试 YoC支持很多的串口命令,我们可以通过串口命令进行很多的调试操作 help > help help : show commands ping : ping command. ifconfig : network config date : date command. ps : show tasks free : show memory inf

OCC_THEAD的博客 1205

cmd下 SecureCRT 串口操作

SecureCRT.exe /serial COM5 /baud 38400 /nocts /data 8 /nodsr /parity none /stop 0 /noxon

Richard_MZ的博客 2207

STM32F407+OV2640实时JPEG图像采集与串口传输实战解析

在嵌入式图像采集与实时传输领域,MCU如何高效处理高分辨率视频流是开发者常遇到的难题。STM32F407系列凭借内置DCMI数字摄像头接口,可直接对接OV2640这类图像传感器,配合DMA双缓冲机制,无需CPU过多干预即可完成数据搬运。JPEG硬件压缩输出相比RGB565裸数据,能将单帧体积从百KB级降至数KB级,大幅降低串口、WiFi等低速链路的传输压力,为无人机图传、门禁抓拍和低成本监控节点提供了可行方案。工程实践中最关键的环节在于寄存器配置、数据流帧同步以及DMA缓冲区的合理规划,这些细节决定了系统能

weixin_29184075的博客 289

win10串口调试

https://blog.youkuaiyun.com/qq_21000273/article/details/52027708以下命令必须 是cmd管理员启动 用pwshell会报错 Microsoft Windows [版本 10.0.16299.64] (c) 2017 Microsoft Corporation。保留所有权利。 C:\Windows\system32>bcdedit Wind...

weixin_34399060的博客 1475

上位机开发____串口调试助手

在嵌入式系统、物联网设备或者机器人控制等领域,串口通信是一种常见的数据传输方式。我们在对单片机开发的过程中,经常需要对单片机进行调试,或者输入指令进行控制.上位机的目的就是为了更方便直观地与这些设备进行交互和调试,一个功能全面的串口调试助手显得尤为重要。下面就为大家展示一下自己在工作闲暇之余,通过pyqt写的一个简单的串口调试工具.

zhangyuge156的博客 1996

全面的串口调试助手使用教程

本文还有配套的精品资源,点击获取 简介:串口调试助手是一个用于测试和调试串行通信接口的高效实用工具,广泛应用于电子工程、嵌入式系统开发和物联网等领域能。本教程详细介绍了串口调试助手的核心功能,包括串口配置、数据发送与接收、虚拟串口功能、命令行模式、日志记录以及高级设置选项等。此外,还提供了帮助文档,指导用户如何使用这款工具,并强调了其在硬件开发、软件调试和教学实验中的重要性...

weixin_42451850的博客 6830

一个简单的通用命令工具(可以使用串口或其它的任意通信接口)

一直以来都是使用串口进行调试,非常方便,最近将命令工具进行了重新,将支持的命令与通信接口,处理等进行了分离,可移植性更强,并且不依赖通信接口,可以使用串口,网口,433等等通信接口,只需要实现一个printf类似的函数即可,因为串口是字符流,不像其它通信接口,一次传输一个块,因此在使用非串口的时候,建议发送的时候将数据用sprntf缓存到一个buff中,一次传输。 //sys_cmd.c

与其用泪水悔恨昨天,不如用汗水拼搏今天 4131

dos串口调试工具,串口抓包程序

dos串口调试工具,串口抓包程序,难得的dos工具

capl调用串口,调用CMD,并获取返回值

capl加载dll调用串口,cmd,并获取返回值,提高工作效率

m0_56315547的博客 1992

From Manual to Magic: How nnU-Net is Revolutionizing Biomedical Image Segmentation Without Human Int

本文探讨了nnU-Net如何通过全自动深度学习技术革新生物医学图像分割领域。作为自我配置的智能系统,nnU-Net无需人工干预即可完成从数据预处理到模型训练的全流程,显著提升医学影像分割的效率和精度,尤其在CT和MRI影像分析中表现卓越。

metal的博客 1083

西门子V90 PN伺服控制核心:FB284功能块详解与实战

在工业自动化中,伺服定位控制是运动控制的基础环节,其本质是PLC通过PROFINET协议与伺服驱动器实现高速、确定性数据交互。FB284作为西门子为V90 PN定制的标准化功能块,封装了GSD映射、状态机管理与周期性PDO同步机制,将底层寄存器操作抽象为高可靠调用接口。相比MOVE指令或MC_MoveAbsolute等通用方案,FB284显著降低时序错乱风险,提升多轴同步精度与故障响应能力。它广泛应用于包装、灌装、装配等中端产线,尤其适配S7-1200/1500平台下的快速部署与现场维护。本文聚焦V90 P

weixin_42696271的博客 300

Ping命令使用

常用的ping命令有: [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list -t Ping 指定的计算机直到中断。 ...

weixin_34414650的博客 425

简易背单词系统C/C++

#include&lt;stdio.h&gt; #include&lt;string.h&gt; int F=20,N=100,k=0; int score[100]; int count=0; void hello(); void add(); void preview(); void mdelete(); void etc(); void cte(); void mscore(); void...

青木年华 9154

单片机 串口控制台 ,类似shell cmd命令解析实现

基于串口的 调试方法 , 调试非常方便 功能: 1. 串口调试输入 2.命令解析, 空格区分参数 3.支持del 使用方法 一、如果使用工程中的Init.d框架,直接使用.c .h文件即可。 调试文件 //cmdtp 当前命令句柄 //flag run_command中传入 //argc 参数数量 //*argv[] 参数 int do_ls(cmd...

kyzb002的专栏 3930

VC Spyglass:Lint实战指南之TCL脚本自动化解析

本文详细介绍了如何利用TCL脚本实现VC Spyglass Lint检查的自动化流程。通过实战指南,从基础脚本编写到高级参数化技巧,帮助数字IC设计工程师摆脱手动操作,提升验证效率,并实现与CI/CD流程的集成。

h3i4j的博客 796

【异常】安装OpenClaw遇到 Windows环境pnpm安装node-llama-cpp postinstall生命周期脚本执行失败完整解决方案

摘要: Windows环境下使用pnpm安装node-llama-cpp时,postinstall脚本执行失败(错误码3221225477),主要因缺少C++编译工具链或预构建二进制下载失败。解决方案: 基础排查:确保管理员权限、Node.js ≥18、路径无中文; 安装编译工具:推荐Visual Studio的“C++桌面开发”组件或windows-build-tools; 环境变量配置:强制CPU模式+国内镜像(NODE_LLAMA_CPP_FORCE_CPU=true,镜像地址替换为国内源); pnp

奶爸的编程之路,也就一周冷个三天 618

在Windows中如何用cmd 查询当前串口

摘要:通过命令提示符查看COM端口的方法:1)按Win+R,输入cmd打开命令窗口;2)输入mode命令回车;3)系统将显示所有可用COM端口列表。该操作简单快捷,无需额外工具即可获取串口信息,适用于硬件调试和端口检查等场景。

cxhust001688的博客 485

AI时代的软件质量保证新方法论

3.2.1 质量保证的方法论 质量保证(Quality Assurance, QA)是一种系统化的方法,用于确保产品或服务符合预定的质量标准。在AI时代,软件质量保证的方法论需要适应不断变化的AI技术和应用场景。 3.2.1.1 质量管理体系的构建 首先,构建一个完善

AI天才研究院 1352

实现虚拟串口设备收发数据

说明: 开发环境:ubuntu14.04 硬件环境:EasyArm-i.mx283A 虚拟串口设备  这里的虚拟串口设备并不是开发板上的外设,而是由驱动模拟出来的一个fifo缓冲区,在功能上类似串口外设,可以实现数据的收发,收发对象是用户层和内核层,在一定程度上可以说是弱化的具有内环回作用的串口。当用户在命令行通过echo命令向设备写入数据时,同时也可以通过命令cat从设备读数据,而且写入的数据和读出的数据完全一样。驱动中为实现这一功能,主要用到以下三个宏: include/linux/kfifo.h:

静待另一片蓝天 3171

工业视觉降本300%实战:C# + 开源YOLO如何干掉Halcon/VisionPro?

在当前制造业普遍追求“降本增效”的大背景下,工业视觉检测系统作为产线的眼睛,其成本问题日益突出。通过该方案,我们成功帮助一家电子厂将单条产线的视觉检测成本从15万降低至不足5千(主要为工控机硬件成本),降本幅度超过95%,且系统稳定性经受住了6个月连续生产的考验。:C#负责“工程化”和“业务逻辑”,YOLO负责“智能算法”,二者结合,完美覆盖了工业视觉从算法到落地的全链路。的组合,构建一套高性能、低成本、易维护的工业视觉解决方案,并彻底替代昂贵的付费库。” 这是一个典型的误区。工业相机/USB相机。

2601_94871597的博客 430

海洋捕食者算法(MPA)详解:从海洋生态智慧到高性能优化

摘要: 海洋捕食者算法(MPA)是一种基于海洋生态觅食行为的元启发式优化算法,模拟捕食者(如鲨鱼)的布朗运动和莱维飞行策略进行全局与局部搜索。算法分为三阶段:高速比阶段(全局探索)、单位速度比阶段(平衡搜索)和低速比阶段(局部开发),通过精英矩阵和FADs效应(概率扰动)避免早熟收敛。MPA具有参数少、收敛快、寻优能力强等特点,适用于复杂优化问题,其数学模型将生物行为转化为随机游走与自适应策略,并通过收敛因子动态调整探索-开发平衡。实验表明,MPA在多个基准问题上表现优异。

qq_42212808的博客 273

电脑和开发板如何串口连接

1.什么是串行接口? 串行接口的百度百科:串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 2.连接步骤 你需要有连接开...

MaxineZhou的博客 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

使用DOS命令窗口查看本机可用串口

使用DOS命令查看本机可用串口

weixin_42888250的博客 4936

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

串口全双工通信与串口中断

这种处理方法对于上述指令够用了,但是处理复杂指令时可能会出错。想要完美的解决这一问题需要比较厉害的C语言功底,写出来的代码量也会比较大。

lzh201864031的博客 3648

【PyCharm Community Edition】:串口开发

串口开发:涉及pyserial

1419

2.调试串口

STM32F103有3个通用同步异步收发器(USART), 2个通用同步异步收发器( UART),USART和UART的主要区别在于, USART支持同步通信, 该模式有一根时钟线提供时钟。 串口在嵌入式中经常使用,常见的用途如下: 1. 作为调试口, 打印程序运行的状态信息; 2. 连接串口接口的模块(比如GPS模块),传输数据; 3. 通过电平转换芯片变为RS232/RS485电平,连接工控设备; 可以把USART分成四部分:1: USART引脚TX:数据发送;RX:数据接收;SW_RX:...

qq_39740690的博客 5541
上一篇: 从零开始实现自己的串口调试助手(9)-重置多文本框,保存/载入指令集
下一篇: 手把手带你做一个自己的网络调试助手(1) - TCP服务器准备
mx_jun
博客等级 码龄5年 1605粉丝 148原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值