QT串口助手开发3串口开发

news/2024/10/30 11:32:27/

系列文章目录

QT串口助手开发3串口开发


QT串口助手开发3

  • 系列文章目录
  • 一、UI界面程序的编写
  • 二、发送框程序编写


一、UI界面程序的编写

根据上文的未解决问题:我们打开串口按钮打开后只能选择关闭串口,所以这个是循环的过程
上文链接
所以按钮对应的槽函数首先必须判断当前串口助手是否打开了助手,closed以后要把按钮的状态恢复成打开,修改mIsOpen标志位为False

在这里插入图片描述

否则执行我们写的getSerialPortConfig获取位(数据位…)成功,按钮状态是打开,并且按钮要更新为关闭(并且位的下拉框要变成灰白色不再可以调位下拉框了),如果没有获取成功则按钮状态是关闭的
在这里插入图片描述

禁止使用下拉框就成灰白色了

在这里插入图片描述

代码如下:

在这里插入图片描述

测试下信息,加个QDebug头信息

在这里插入图片描述在这里插入图片描述

ctrl + r运行测试效果

在这里插入图片描述在这里插入图片描述

我们需要打开按钮打开后才能点击发送按钮

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其实还可以直接把mIsopen填进去这样就不用思考填true或者false

在这里插入图片描述在这里插入图片描述在这里插入图片描述
ctrl + r 运行测试效果
当你没有打开串口的时候发送按钮是灰色的(不能发送),当你打开串口的时候,发送按钮是可以发送的
在这里插入图片描述在这里插入图片描述

二、发送框程序编写

发送按钮转到槽函数,详情槽函数可以参考文章槽函数

在这里插入图片描述
在这里插入图片描述比如TeditSend函数不会用,就再帮助文档查TeditSend函数,帮助文档使用方法参考文档添加链接描述

由于这个toPlainText()这个函数是Qstring类型,所以我们需要变更下它的函数类型为char*,再帮助文档中查看Qstring函数的用法
在这里插入图片描述Qstring先转换成标准的c++string,然后再用c_str转换成char*
ctrl + r 运行测试下效果
在这里插入图片描述
同理写接受框,COM2给COM1发送数据时,这时接收框没有反应
在这里插入图片描述
接收框程序写法:
平常都是再ui转到槽函数,这个是从设计界面,如果我们连接到串口,需要用代码的方式连接
connect是连接信号和槽,信号发送者是mSerialPort,发送信号Readyread,发送给槽(先自定义下)的槽
slots槽函数
在这里插入图片描述
ALT + ENTER选择添加定义
在这里插入图片描述
在这里插入图片描述

再写槽函数里面读取串口
当串口有数据的时候,就会发送ReadyRead这个信号,槽函数就会响应,就会读取串口,然后设置到接收文本框里面

在这里插入图片描述ctrl + b编译ctrl + r测试下效果
在这里插入图片描述一直发送都是一个hhh
因为我们之前设置的槽函数,一旦有数据就会读取并且发送到接收框,这样每次发送都是会覆盖掉前面发送的,我们不想要覆盖,所以再点开帮助文档,查看texyedit函数或者直接搜索关键字append,查看到append的槽函数,槽函数依旧是函数可以直接调用
所以把setPlaintext函数变更成append函数即可
在这里插入图片描述ctrl + r 运行测试效果
在这里插入图片描述清除功能,查看帮助文档,搜索clear,可以自行添加


END


http://www.ppmy.cn/news/33079.html

相关文章

机器学习中的归一化问题_梯度下降做归一化的必要性_数据缩放_最大最小值归一化方法---人工智能工作笔记0029

然后我们再来看,为什么说只要是用到了梯度下降法,那么必须要做归一化 首先我们来看,如果一个人下山,那么我们说,我们每次去求,最优解,也就是利用目标函数,带入theta值,然后求出对应的y值,也就是预测值,然后找到这个点以后,就可以求出斜率对吧,然后斜率,如果 为0的时候,那么就说…

77.qt qml-QianWindow-V1版本界面讲解

上章介绍: 76.qt qml-QianWindow开源炫酷界面框架简介(支持白色暗黑渐变自定义控件均以适配) 界面如下所示: 代码结构如下所示:

【Vue】Vue的安装

🏆今日学习目标:Vue3的安装 😃创作者:颜颜yan_ ✨个人格言:生如芥子,心藏须弥 ⏰本期期数:第一期 🎉专栏系列:Vue3 文章目录前言Vue3安装独立版本CDN安装第一个Vue程序总…

CAD 2023安装包下载及详细安装教程

[软件名称]: CAD 2023 [软件大小]: 2.71 GB [安装环境]: Win11/Win 10 [软件安装包下载]:https://pan.quark.cn/s/3b79a839e513 AutoCAD 2023 中文版是一款计算机辅助设计 (CAD) 软件,用于精确的二维和三维绘图、设计和建模,包括实体、曲面、网格对象、…

LInux指令之文件目录类

文章目录一、帮助指令二、文件目录类ls指令cd指令 (切换目录)mkdir指令(创建目录)rmdir指令(删除目录)touch指令(创建空文件)cp指令(拷贝文件)rm指令mv指令cat指令(查看)more指令les…

【基础算法】单链表的OJ练习(6) # 复制带随机指针的链表 #

文章目录🍇前言🍎复制带随机指针的链表🍑写在最后🍇前言 本章的链表OJ练习,是最后的也是最难的。对于本题,我们不仅要学会解题的思路,还要能够通过这个思路正确的写出代码,也就是思路…

vue基于vant封装可精确到秒的时间选择器

前言 在移动开发中,时间选择的控件比比皆是,但却鲜有类似的组件可以精确到秒级别的,官方可能是考虑到小屏幕手机的显示问题,也可能是使用的场景寥寥无几,但是少不代表没有,所以最近花了点时间基于 vant 组件…

102.【Redis】

Resies集群前言(一)、Nosql概述1、为什么要用NoSQL ?2、什么是Nosql3、Nosql特点4、Nosql的四大分类5、阿里巴巴数据结构演进(二)、Redis入门1.概述2.Redis能干什么?3、Redis的特点4、window安装Redis5、Linux安装Redis6、redis-benchmark性能测试7、Redis基础知识…