QT之串口通信之QSerialPort和QSerialPortInfo

QT之串口通信

    • 函数介绍
    • 例程

函数介绍

1)QSerialPort类的一些常用方法:
setPortName():设置串口的名称。
setBaudRate():设置串口的波特率。
setDataBits():设置串口的数据位。
setParity():设置串口的校验位。
setStopBits():设置串口的停止位。
setFlowControl():设置串口的流控制。
write():向串口发送数据。
readAll():从串口读取所有数据。
read():从串口读取指定数量的数据。
isOpen():检查串口是否打开。
close():关闭串口。

2)QSerialPortInfo类的一些常用方法:

availablePorts():返回所有可用串行端口的列表。
portName():返回串行端口的名称。
manufacturer():返回串行端口的制造商。
description():返回串行端口的描述。

例程

#include <QCoreApplication>  
#include <QSerialPort>  
#include <QSerialPortInfo>  
#include <QDebug>  int main(int argc, char *argv[])  
{  QCoreApplication a(argc, argv);  // 查找可用串口  QList<QSerialPortInfo> ports = QSerialPortInfo::availablePorts();  qDebug() << "可用串口数:" << ports.count();  foreach (QSerialPortInfo info, ports)  {  qDebug() << "串口名称:" << info.portName();  qDebug() << "制造商:" << info.manufacturer();  }  // 配置串口  QSerialPort serial;  serial.setPortName("COM3"); // 串口名称  serial.setBaudRate(QSerialPort::Baud9600); // 波特率  serial.setDataBits(QSerialPort::DataBits8); // 数据位  serial.setParity(QSerialPort::NoParity); // 校验位  serial.setStopBits(QSerialPort::OneStop); // 停止位  serial.setFlowControl(QSerialPort::NoFlowControl); // 流控制  if (!serial.open(QIODevice::ReadWrite)) // 打开串口  {  qDebug() << "串口打开失败!";  return -1;  }  // 发送数据  QByteArray data = "Hello, world!";  qint64 bytesWritten = serial.write(data);  qDebug() << bytesWritten << "字节已写入";  // 接收数据  QByteArray readData = serial.readAll();  qDebug() << readData;  return a.exec();  
}

在上面的示例代码中,首先使用QSerialPortInfo::availablePorts()函数查找可用串口,并使用QSerialPort类的各种方法来配置串口。然后,使用serial.write()函数向串口发送数据,并使用serial.readAll()函数从串口接收数据。在接收数据时,使用QByteArray类来存储接收到的数据,并使用qDebug()函数打印出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Goby 漏洞发布|Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞(CVE-2019-5434)

漏洞名称&#xff1a;Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞&#xff08;CVE-2019-5434&#xff09; English Name&#xff1a; Revive Adserver adxmlrpc.php Remote Code Execution Vulnerability (CVE-2019-5434) CVSS core: 9.0 影响资产数&a…

配置pytorchGPU虚拟环境-python3.7

cuda版本的pytorch包下载地址戳这里 winR->输入cmd->输nvcc -V回车 cuda 11.0 输入以下命令来查找 CUDA 的安装路径&#xff1a; Windows: where nvcc 输入以下命令来查找 cuDNN 的版本号&#xff1a; Windows: where cudnn* cuDNN 8.0 本机安装的是cuda 11.0&…

Python操作Elasticsearch

一、Python操作ES之基本使用 安装:pip3 install elasticsearch from elasticsearch import Elasticsearchobj = Elasticsearch() # 创建索引(Index) # result = obj.indices.create(index=user,ignore=400) # # print(result)# print(result) # 删除索引 # result = obj.i…

【JavaGuide学习笔记】Day.3

JAVA基础常见面试题&#xff08;中&#xff09; 1.面向对象和面向过程的区别 2.对象的实体与对象的引用有何不同&#xff1f; 3.对象相等和引用相等的区别 4.构造方法有哪些特点&#xff1f;是否可被override&#xff1f; 5.面向对象的三大特征 6.接口和抽象类有什么共同点…

MySQL - 关于约束类型和作用的介绍

约束的概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 约束的作用&#xff1a;用于保证数据库中数据的正确性、完整性和一致性。 约束分类&#xff1a; 约束类型作用关键字非空约束限制该字段的数据不能为nullnot null唯一约束保证该…

【深度学习-第3篇】使用MATLAB快速实现CNN分类(模式识别)任务,含一维、二维、三维数据演示案例

在本文中&#xff0c;我们将介绍如何使用 MATLAB 中的 Convolutional Neural Network&#xff08;CNN&#xff09;进行分类任务。我们将使用 MATLAB 的 Deep Learning Toolbox 来创建、训练和评估 CNN。 一、一个简单的案例 1 安装和准备 首先&#xff0c;确保已安装 MATLAB…

基于SSM的高校图书馆个性化服务的设计与实现(有报告)。Javaee项目。

演示视频&#xff1a; 基于SSM的高校图书馆个性化服务的设计与实现&#xff08;有报告&#xff09;。Javaee项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过S…

HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒

本文转载自支付宝体验科技&#xff0c;作者是蚂蚁集团客户端工程师博欢&#xff0c;介绍了支付宝如何基于 HarmonyOS 4.0 实况窗实现医疗场景履约智能提醒。 1.话题背景 8 月 4 日&#xff0c;华为在 HDC&#xff08;华为 2023 开发者大会&#xff09;上推出了新版本操作系统…

现代卷积网络实战系列3:PyTorch从零构建AlexNet训练MNIST数据集

&#x1f308;&#x1f308;&#x1f308;现代卷积网络实战系列 总目录 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 1、MNIST数据集处理、加载、网络初始化、测试函数 2、训练函数、PyTorch构建LeNet网络 3、PyTorch从零构建AlexNet训练MNIST数据…

003:如何画出成交量的柱状图

接着《002&#xff1a;如何画出收盘价的曲线图》&#xff0c;继续画成交量柱状图。 import pandas as pd import matplotlib.pyplot as plt# 读取CSV文件&#xff0c;指定逗号作为分隔符 data pd.read_csv(002885.csv, sep,)# 提取成交量和日期数据 volume data[成交量] dat…

物联网开发自学的一些建议

物联网开发自学的一些建议 目前为止有一年多的时间了。开发了一些小的应用。和做了一些项目。当然也放弃了一些项目。学习到新的知识&#xff0c;了解到新的器件&#xff0c;认识新的朋友。同时也获得了部分的收入。最近很多小伙伴找我&#xff0c;说想要一些物联网学习资料&am…

腾讯mini项目-【指标监控服务重构】2023-08-27

今日已办 Docker Monitoring with cAdvisor, Prometheus and Grafana Docker Monitoring with cAdvisor, Prometheus and Grafana | by Mertcan Simsek | MediumMonitoring Docker container metrics using cAdvisor | Prometheus prometheus.yml global:scrape_interval: …

Linux基础知识 总结

Linux基础知识 总结 1、Clion的简单介绍 CLion是以IntelliJ为基础&#xff0c;专为开发C及C所设计的跨平台IDE&#xff0c;可以在Windows、Linux及MacOS使用&#xff0c;这里我是在ubuntu 16.0.4基础上安装。2、下载 Linux版Clion的.tar.gz的压缩包 wget https://download.j…

修炼k8s+flink+hdfs+dlink(一:安装hdfs)

一&#xff1a;安装jdk&#xff0c;并配置环境变量。 在对应的所有的节点上进行安装。 mkdir /opt/app/java cd /opt/app/java wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24http%3A%2F%2Fwww.oracle.com% 2F; oraclelicenseaccept-securebackup…

flask_apscheduler实现定时推送飞书消息

需求场景&#xff1a; 实现一个flask服务&#xff0c;通过接口控制一个定时任务任务&#xff08;对酒店订房情况进行检查&#xff09;的开启和停止。要求定时任务完成后&#xff0c;可以通过飞书机器人推送任务完成的消息。 展现效果&#xff1a; 启动定时任务 关闭定时任务…

ssl证书 阿里的域名,腾讯云的证书

目录 1.腾讯云申请ssl免费证书 2.去阿里云进行解析 3.回到腾讯云 4.nginx的配置 说明&#xff1a;阿里云的免费证书用完了&#xff08;每年可以申请20个&#xff09;&#xff0c;还有个项目要用证书&#xff0c;第三方的证书免费的都是90天的。看了下腾讯云业可以申请免费的…

Linux 基础入门

目录 一、计算机 1、组成 2、功能 二、操作系统 1、定义 2、主要工作 3、操作系统内核功能 4、常见的操作系统 三、Linux的组成 四、搭建Linux学习环境 五、安装远程连接Linux的软件 1、安装xshell 2、安装mobaxterm 六、Linux操作系统学习大纲 一、计算机 1、组…

仿网吧游戏菜单-超好用

GG软件菜单(X64)仿网吧菜单: https://url75.ctfile.com/f/1834175-943877085-2d844a?p6775 (访问密码: 6775)

Tuya MQTT 标准协议是什么?

TuyaLink 协议是涂鸦 IoT 开发平台面向物联网开发领域设计的一种数据交换规范&#xff0c;数据格式为 JSON&#xff0c;主要用于设备端和涂鸦 IoT 开发平台的双向通信&#xff0c;更便捷地实现了设备端和平台之间的业务数据交互。 设备的通信方式也是多种多样的。无线通信方式…

SpringBoot 学习(一)自动装配

本系列文章为【狂神说 Java 】视频的课堂笔记&#xff0c;若有需要可配套视频学习。 1.1 pom.xml (1) 父工程&#xff08; spring-boot-starter-parent &#xff09; 核心依赖&#xff0c;静态资源过滤等配置。编写或导入 springboot 依赖时不需要指定版本号&#xff0c;继承…