QT串口助手开发2之串口程序编写

系列文章目录

QT串口助手开发2之串口程序编写


QT串口助手开发2

  • 系列文章目录
  • 一、前期准备工作
    • 1.1给选择框添加子选项
    • 1.2给控件命名ID
  • 二、自动识别系统端口程序
  • 三、响应打开函数


一、前期准备工作

1.1给选择框添加子选项

书接上文
绘制好界面后,需要给每个控制命个名,再继续编写串口程序
直接对label直接更改标签名字即可同理pushbutton
设置选项框里面的子选项,设置波特率,串口号用程序的方式动态识别
设置方式见设置选项框的方法
QT串口助手开发2之串口程序编写_第1张图片
同理校验位,数据位,停止位

QT串口助手开发2之串口程序编写_第2张图片

QT串口助手开发2之串口程序编写_第3张图片
QT串口助手开发2之串口程序编写_第4张图片


1.2给控件命名ID

点击串口号后面的Combo Box 控件给其ID为cboxSerialPort
同理波特率更名为CboxBaudrate
校验位更名为CboxParity
数据位更名为CboxDataBits
停止位更名为CboxStopBits
pushbutton更名为打开和发送
Text Edit命名为TeditRecv、TeditSend
QT串口助手开发2之串口程序编写_第5张图片
ctrl + r运行看下效果,如果觉得不是很好看,就在SizePolicy调整策略
QT串口助手开发2之串口程序编写_第6张图片


二、自动识别系统端口程序

自动识别当前系统有效的端口,让你选择(在串口号那栏有子选项可以选择)
去帮助文档查看帮助文档查看方法
首先需要给头文件加功能模块可参考文档
QT串口助手开发2之串口程序编写_第7张图片QT串口助手开发2之串口程序编写_第8张图片

QList列表里的每个成员都是SerialPortInfo,其实这个表就是有效端口的列表
类内的静态成员,可以直接通过类来调用不需要对象,直接调用就是两个::
availablePorts()这个函数返回一个列表到serialportInfo
接下来遍历这个列表,把列表里面的内容填到串口号后面的combo box里面去
帮助文档查看QList(列表或者数组)如何使用当作一个数组访问
在for循环里面,返回一个数组下标,at返回一个串口的信息
最详细写法参考参考写法

ctrl + r运行测试效果
QT串口助手开发2之串口程序编写_第9张图片
测试成功,再添加2个模拟串口测试

QT串口助手开发2之串口程序编写_第10张图片

QT串口助手开发2之串口程序编写_第11张图片QT串口助手开发2之串口程序编写_第12张图片
ctrl + r 运行,测试成功
QT串口助手开发2之串口程序编写_第13张图片


三、响应打开函数

参考文章添加链接描述
右键点击打开按钮转到槽

QT串口助手开发2之串口程序编写_第14张图片
当打开按钮按下后,其余比如波特率…等等这些就不能在选择子选择,按钮就变成断开按钮类似这样
QT串口助手开发2之串口程序编写_第15张图片m开头是类内成员
QT串口助手开发2之串口程序编写_第16张图片QT串口助手开发2之串口程序编写_第17张图片

写个函数,alt + enter 鼠标放在写的函数上,选择添加一个定义,界面就跳转了
这样就可以不用直自己写一个函数

QT串口助手开发2之串口程序编写_第18张图片
我们要获取5个配置

QT串口助手开发2之串口程序编写_第19张图片
并且设置进去(转到头文件)
QT串口助手开发2之串口程序编写_第20张图片

再写其类内的成员
QT串口助手开发2之串口程序编写_第21张图片
写.cpp文件
默认情况就是115200,你没选择波特率就是115200,以免没设置波特率

QT串口助手开发2之串口程序编写_第22张图片同理写其它位
校验位只写三种去除两种,太麻烦了(在ui界面也去掉)
这两种去掉
QT串口助手开发2之串口程序编写_第23张图片
写.cpp文件
QT串口助手开发2之串口程序编写_第24张图片

同理其它位

QT串口助手开发2之串口程序编写_第25张图片

停止位:

QT串口助手开发2之串口程序编写_第26张图片
写完后要返回open的结果

小灯泡是修改该函数类型后,.h文件也要更改(函数的声明),点下小灯泡跳转到.h文件并且自动帮你更改
.cpp是函数的实现
在这里插入图片描述
更变成功

QT串口助手开发2之串口程序编写_第27张图片

在构造函数中初始化下mIsOpen,默认情况下是关闭
open按钮的槽函数可以响应open单击的动作
点击打开这个按钮后,调用getSerialPortConfig函数,当这个函数返回true说明这个串口打开成功,否则打开失败,这个时候才能设置mIsOpen成员true or false(这个时候才是真正打开串口或者没打开串口)
但是我们打开串口按钮打开后只能选择关闭串口,所以这个是循环的过程,下文再书写如何编写串口程序,该问题留给下文

QT串口助手开发2之串口程序编写_第28张图片


END

你可能感兴趣的:(QT,qt,开发语言)