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

qt学习:串口

头文件

#include <QSerialPort>
#include <QSerialPortInfo>

模块

QT       += core gui serialport

 编程步骤

配置一个ui界面,五个QComboBox和一个按钮和一个QTextEdit

添加一个成员

private:QSerialPort *serial;

在构造函数中初始化ui端口列表和串口

    //获取当前主机上所有可用的端口QList<QSerialPortInfo> list = QSerialPortInfo::availablePorts();//将获取的端口列表设置到ui界面上for(int i=0; i<list.size(); i++){ui->comboBox_port->addItem(list.at(i).portName());}//串口对象serial = new QSerialPort;//关联串口收到数据就会触发QSerialPort::readyRead信号,然后显示出来connect(serial,&QSerialPort::readyRead,this,[&](){//读取数据QByteArray data = serial->readAll();//显示ui->textEdit->append(data);});

连接按钮点击函数

    //设置串口端口serial->setPort(QSerialPortInfo(ui->comboBox_port->currentText()));//1、设置波特率if(ui->comboBox_baud->currentText() == "9600"){serial->setBaudRate(QSerialPort::Baud9600);}else if(ui->comboBox_baud->currentText() == "115200"){serial->setBaudRate(QSerialPort::Baud115200);}else if(ui->comboBox_baud->currentText() == "38400"){serial->setBaudRate(QSerialPort::Baud38400);}//2、设置数据位if(ui->comboBox_dataBits->currentText() == "5"){serial->setDataBits(QSerialPort::Data5);}else if(ui->comboBox_dataBits->currentText() == "6"){serial->setDataBits(QSerialPort::Data6);}else if(ui->comboBox_dataBits->currentText() == "7"){serial->setDataBits(QSerialPort::Data7);}else if(ui->comboBox_dataBits->currentText() == "8"){serial->setDataBits(QSerialPort::Data8);}//3、设置奇偶校验位if(ui->comboBox_parity->currentText() == "None"){serial->setParity(QSerialPort::NoParity);}//4、设置停止位if(ui->comboBox_stopBits->currentText() == "1.5"){serial->setStopBits(QSerialPort::OneAndHalfStop);}else if(ui->comboBox_stopBits->currentText() == "1"){serial->setStopBits(QSerialPort::OneStop);}else if(ui->comboBox_stopBits->currentText() == "2"){serial->setStopBits(QSerialPort::TwoStop);}//5、打开串口serial->open(QIODevice::ReadWrite);

 

相关文章:

qt学习:串口

头文件 #include <QSerialPort> #include <QSerialPortInfo> 模块 QT core gui serialport 编程步骤 配置一个ui界面&#xff0c;五个QComboBox和一个按钮和一个QTextEdit 添加一个成员 private:QSerialPort *serial; 在构造函数中初始化ui端口列表和…...

145. 二叉树的后序遍历

给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[3,2,1]示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[]示例 3&#xff1a; 输入&#xff1a;root [1] 输…...

Postgresql 的编译安装与包管理安装, 全发行版 Linux 通用

博客原文 文章目录 实验环境信息编译安装获取安装包环境依赖编译安装安装 contrib 下工具代码 创建用户创建数据目录设置开机自启动启动数据库常用运维操作 apt 安装更新源安装 postgresql开机自启修改配置修改密码 实验环境信息 Ubuntu 20.04Postgre 16.1 编译安装 获取安装…...

【Java EE初阶十】多线程进阶二(CAS等)

1. 关于CAS CAS: 全称Compare and swap&#xff0c;字面意思:”比较并交换“&#xff0c;且比较交换的是寄存器和内存&#xff1b; 一个 CAS 涉及到以下操作&#xff1a; 下面通过语法来进一步进项说明&#xff1a; 下面有一个内存M&#xff0c;和两个寄存器A,B; CAS(M,A,B)&am…...

与AI对话:编写高效Prompt的指南

与AI对话&#xff1a;编写高效Prompt的指南 一、明确目标 引导AI提供特定格式或内容答案的策略一、明确需求二、使用示例三、设置参数四、分步询问五、使用关键词 利用关键词引导AI重点关注核心内容的技巧一、确定关键概念二、使用专业术语三、强调重要性四、避免相关术语的混淆…...

QML用ListView实现带section的GridView

QML自带的GridView只能定义delegate&#xff0c;没有section&#xff0c;类似手机相册带时间分组标签的样式就没法做。最简单的方式就是组合ListViewGridView&#xff0c;或者ListViewFlow&#xff0c;但是嵌套View时&#xff0c;子级View一般是完全展开的&#xff0c;只显示该…...

docker之程序镜像的制作

目录 一、每种资源的预安装&#xff08;基础&#xff09; 安装 nginx安装 redis 二、dockerfile文件制作&#xff08;基础&#xff09; 打包 redis 镜像 创建镜像制作空间制作dockerfile 打包 nginx 镜像 三、创建组合镜像&#xff08;方式一&#xff09; 生成centos容器并…...

Git - 每次 git pull/push 时需要账号和密码解决方案

问题描述 在提交项目代码或者拉取代码的时候&#xff0c;每次 git 都要输入用户名密码&#xff0c;很烦~ 解决方案 让服务器记下来用户名和密码&#xff0c;此时输入一次&#xff0c;以后再 git push /pull 的时候就不用再输账号和密码了 # 配置 git 记录用户名和密码 git c…...

C语言中在main函数之后运行的函数

在 Linux 平台上&#xff0c;atexit 函数同样是一个用于注册终止处理函数的库函数&#xff0c;它是 C 标准库 <stdlib.h> 的一部分。atexit 函数允许你注册一个或多个函数&#xff0c;这些函数会在 main 函数执行结束后&#xff0c;或者在调用 exit 函数时&#xff0c;由…...

pytorch训练指标记录之tensoboard,wandb

详解Tensorboard及使用教程_tensorboard怎么用-CSDN博客文章浏览阅读5.1w次&#xff0c;点赞109次&#xff0c;收藏456次。目录一、什么是Tensorboard二、配置Tensorboard环境要求安装三、Tensorboard的使用使用各种add方法记录数据单条曲线(scalar)多条曲线(scalars)直方图(hi…...

C语言——oj刷题——实现字符串逆序

当我们需要逆序一个字符串的内容时&#xff0c;可以通过C语言编写一个函数来实现。下面将详细介绍如何通过C语言实现这个功能&#xff0c;并附上代码示例。 1、实现原理 要逆序一个字符串的内容&#xff0c;可以使用两个指针来交换字符串中对应位置的字符。具体实现原理如下&am…...

空气质量预测 | Matlab实现基于SVR支持向量机回归的空气质量预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 政府机构使用空气质量指数 (AQI) 向公众传达当前空气污染程度或预测空气污染程度。 随着 AQI 的上升,公共卫生风险也会增加。 不同国家有自己的空气质量指数,对应不同国家的空气质量标准。 基于支持向量机(Su…...

Vue中的请求拦截器

目录 1 前言 2 使用方法 2.1 创建拦截器 2.2 引入拦截器 1 前言 我们常常会使用JWT令牌来验证登录&#xff0c;因此很多请求都需要携带JWT令牌&#xff0c;我们当然可以用{headers:{Authorization:xx}}的方式&#xff0c;向每个请求中都以这样的方式添加JWT令牌。不过这样…...

Java奠基】对象数组练习

目录 商品对象信息获取 商品对象信息输入 商品对象信息计算 商品对象信息统计 学生数据管理实现 商品对象信息获取 题目要求是这样的&#xff1a; 定义数组存储3个商品对象。 商品的属性&#xff1a;商品的id&#xff0c;名字&#xff0c;价格&#xff0c;库存。 创建三个…...

排序算法---快速排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 快速排序是一种常用的排序算法&#xff0c;采用分治的策略来进行排序。它的基本思想是选取一个元素作为基准&#xff08;通常是数组中的第一个元素&#xff09;&#xff0c;然后将数组分割成两部分&#xff0c;其中一部分的…...

算法||实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度

实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度 线性结构&#xff1a; 数组&#xff1a;是一种线性表数据结构&#xff0c;它用一组连续的内存空间&#xff0c;来存储一组具有相同类型的数据。 查找数据 &#xff1a;随机访问 流程图 /** 查询元素下标…...

【蓝桥杯冲冲冲】Invasion of the Milkweed G

【蓝桥杯冲冲冲】Invasion of the Milkweed G 蓝桥杯备赛 | 洛谷做题打卡day30 文章目录 蓝桥杯备赛 | 洛谷做题打卡day30[USACO09OCT] Invasion of the Milkweed G题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题解代码我的一些话 [USACO09OCT] Invasion of the Mi…...

【JAVA WEB】 百度热榜实现 新闻页面 Chrome 调试工具

目录 百度热榜 新闻页面 Chrome 调试工具 --查看css属性 打开调试工具的方式 标签页含义 百度热榜 实现效果&#xff1a; 实现代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"vi…...

Linux——动静态库

基础知识:动vs静 类型动静加载时机运行时编译时可复用性多个文件只需要加载一份库文件每个文件都需要加载一份文件性能链接次数越多越有优势链接次数越少越有优势 代码编写 静态库 生成静态库 libmath.a:add.o sub.oar -rc $ $^%.o:%.cgcc -c $<使用静态库 头文件和工…...

Vulnhub靶机:hacksudo-search

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;hacksudo-search&#xff08;10.0.2.50&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.co…...

3个步骤打造个人AI知识库:AnythingLLM浏览器扩展完全指南

3个步骤打造个人AI知识库&#xff1a;AnythingLLM浏览器扩展完全指南 【免费下载链接】anything-llm 这是一个全栈应用程序&#xff0c;可以将任何文档、资源&#xff08;如网址链接、音频、视频&#xff09;或内容片段转换为上下文&#xff0c;以便任何大语言模型&#xff08;…...

[多控制器适配] 通过BetterJoy实现Switch手柄在PC游戏中的无缝集成 [创新协议转换技术]

[多控制器适配] 通过BetterJoy实现Switch手柄在PC游戏中的无缝集成 [创新协议转换技术] 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: …...

2026年SCI论文AI率5%以下怎么做到?这3款降AI工具帮你稳过顶刊

投了三篇SCI&#xff0c;AI率问题折腾了快半年。 第一次投稿时完全不知道期刊有AI率要求&#xff0c;论文被直接拒稿&#xff0c;编辑在邮件里特别说明了AI生成内容的问题。从那以后就开始认真研究这个。先说结论&#xff1a;嘎嘎降AI&#xff08;www.aigcleaner.com&#xff…...

嵌入式开发必知:如何通过.text、.data和.bss段优化内存使用(附实例分析)

嵌入式开发实战&#xff1a;从.text到.bss的内存优化策略与案例分析 在资源受限的嵌入式系统中&#xff0c;内存优化从来不是可选项&#xff0c;而是生存法则。当你的MCU只有几十KB RAM&#xff0c;而产品功能需求却在不断膨胀时&#xff0c;对内存分区的深入理解就成为了区分普…...

从步进电机到激光雕刻:实战解析STM32F4定时器主从模式在运动控制中的两种高级玩法

STM32F4定时器主从模式在运动控制中的双场景实战指南 当步进电机的脉冲序列需要精确计数&#xff0c;或是激光雕刻机的PWM波形必须严格同步时&#xff0c;工程师们往往面临一个共同挑战&#xff1a;如何在不增加CPU负担的前提下&#xff0c;实现硬件级的精准时序控制&#xff…...

3个高效解决Atlas OS中Xbox登录错误的终极技巧指南

3个高效解决Atlas OS中Xbox登录错误的终极技巧指南 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atlas A…...

Big Vision完全指南:从零掌握Google顶级视觉模型训练框架

Big Vision完全指南&#xff1a;从零掌握Google顶级视觉模型训练框架 【免费下载链接】big_vision Official codebase used to develop Vision Transformer, SigLIP, MLP-Mixer, LiT and more. 项目地址: https://gitcode.com/gh_mirrors/bi/big_vision Big Vision是Goo…...

pingfs安全分析:ICMP存储的数据安全性与风险防护指南

pingfs安全分析&#xff1a;ICMP存储的数据安全性与风险防护指南 【免费下载链接】pingfs Stores your data in ICMP ping packets 项目地址: https://gitcode.com/gh_mirrors/pi/pingfs 在当今网络安全日益重要的时代&#xff0c;pingfs作为一个创新的文件系统项目&…...

步进电机选型与性能曲线深度解析

1. 步进电机选型的核心逻辑 第一次选步进电机时&#xff0c;我被厂家提供的十几页参数表直接整懵了——保持扭矩、牵入扭矩、转子惯量这些名词像天书一样。直到设备因为选型不当在现场疯狂丢步&#xff0c;才真正理解选型不是看哪个电机"力气大"&#xff0c;而是要让…...

Qwen3-TTS声音克隆部署全攻略:简单3步,开启你的语音克隆之旅

Qwen3-TTS声音克隆部署全攻略&#xff1a;简单3步&#xff0c;开启你的语音克隆之旅 想不想让一段普通的文字&#xff0c;用你指定的声音说出来&#xff1f;比如&#xff0c;用你自己的声音给视频配音&#xff0c;用朋友的声音讲个笑话&#xff0c;或者用某个角色的声音朗读一…...