下面开始介绍串口类的使用。

首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添加一行:

​然后直接引用头文件就可以了。

​在QT5中,串口通信是借助一个QSerialPort的对象来实现的,在设置QSerialPort对象对串口的名称、波特率、数据位、校验位、停止位等参数后,方能对串口进行读写。下面,我总结了一下借助QSerailPort对串口进行设置、打开、读、写和关闭的过程。

一、设置和打开串口

以上代码是QSerialPort对象的设置示例,作用是:

  • 设置串口名为 COM3

  • 设置波特率为9600

  • 设置数据位为8位

  • 设置没有奇偶校验位

  • 设置停止位为1位

  • 设置没有流控制

  • 以可读写的方式打开串口

设置完这些就能进行读写操作了。如果遇到不理解的地方,可以选择QT的类或函数,然后按F1查阅手册。举个例子,如果我们想查看QSerialPort的其它的属性,可以选择QSerialPort的类名或成员函数,然后按F1。

本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

二、读取数据

串口在收到数据后,会将数据存入接收缓冲区。此时,我们可以通过readAll()函数将接收缓冲区的数据读出来。当串口的接收缓冲区有数据时,QSerilaPort对象会发出一个readyRead()的信号。因此,我们可以编写一个槽函数来读数据,例如:

三、发送数据

​使用write函数便可以把字节数组中的字节发送出去。

四、关闭串口

​串口不用时,可通过close()函数将其关闭。

接下来是一个实例

1、创建一个新的Widgets Appliaction工程

2、使用QtCreator的ui文件来设计上位机的界面,设计如下:

3、mainwindow.h文件内容如下:

4、mainwindow.cpp文件内容如下:

5、main.cpp文件内容如下:

4、测试(将USB转TTL模块发送和接收引脚短接,自己发自己收)

本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

QT5串口编程——编写简单的上位机相关推荐

  1. php写串口上位机,QT5串口编程—编写简单的上位机

    最近在学习嵌入式,而上位机又是一个不可缺少的工具,于是就开始接触QT,学习编写上位机.刚开始的时候什么都不懂,发现<Qt 学习之路 2>有比较好的入门教程.学习了前面部分,对QT有了大概的 ...

  2. 做一个最简单的上位机

    记录下制作激光雷达和IMU上位机制作过程 初学者可能有很多不足和错误,欢迎指出交流! 准备工作 我安装的是QT5.8,QTcreater 4.1.0.由于在官网下载比较麻烦,所以可以再这个镜像网站上下 ...

  3. QT实现简单的上位机软件

    最近项目要求写上位机软件,需要实现界面功能和串口读写.界面方面用过MFC(早忘记了),网上查阅资料后发现QT在5.1版本后有自带的串口模块,而且用QT实现简单界面功能很容易上手(也就期末设计随便玩过几 ...

  4. VC++6.0上实现PC机与单片机串口通信的PC端上位机软件

    1.简介 我做这个的主要原因是选了一个PC和单片机的全双工串口通信作为课设题目,单片机端是用汇编语言编程且要预先下载到板子里,关于这个这里我就不多说,主要说说怎么实现PC端的上位机软件.早知道要写软件 ...

  5. [python] 3 、基于串口通信的嵌入式设备上位机自动测试程序框架(简陋框架)...

    星期一, 20. 八月 2018 01:53上午 - beautifulzzzz 1.前言 做类似zigbee.ble mesh...无线网络节点性能测试的时候,手动操作然后看表象往往很难找出真正的原 ...

  6. C++语言Qt实现 串口软件 用于嵌入式软件开发上位机通信调试软件

    我遇到个需求: 目标:开发一个串口上位机软件,用于和单片机等进行串口通信. 内部原理:调用串口类,接收到数据进行解析和显示 效果:提供了友好的简洁美观界面,下面就是软件的界面:(支持hex十六进制显示 ...

  7. react android 串口,Maix Bit(K210) 与上位机串口通信

    串口通信 1.K210 UART 1.1 .串口通信函数 1.2 .常用函数 3.代码 4.效果展示 准备工具 K210开发板 USB转TTL串口 (俗称ISP烧录器) 串口助手 其实Maix Bit ...

  8. 串口+GPS定位软件 C#上位机代码解读(一)

    本博文讲述一个问题:PC上位机如何将串口接收到的GPS数据解析,并把位置信息显示在百度地图上? 1.串口接收GPS模块发送的数据,并将其显示在接收区 private string receiveDat ...

  9. android上位机编程,BLE的Android上位机开发(上)

    原标题:BLE的Android上位机开发(上) 各位坛友大家好啊! 上篇BLE的Android开发小技巧(见帖:BLE4.0安卓上位机开发小技巧),但因为当时Android上位机还没有完全开发完毕,B ...

最新文章

  1. Udacity机器人软件工程师课程笔记(三十六) - GraphSLAM
  2. SetProcessWorkingSetSize 降低程序运行内存
  3. Colidity--GenomicRangeQuery
  4. openssl 添加自定义算法_GitHub:用PyTorch实现17种深度强化学习算法
  5. U盘文件系统无法识别,数据怎么恢复?
  6. 操作系统之内存管理:3、基本分页存储管理
  7. struts配置访问后缀为.do,.action,.*
  8. python爆破端口_挑战全网多线程批量扫描爆破弱办事端口工具,Python制造专属!...
  9. 程序猿必须要知道的一个内容:客户端+服务端一(源码解析、建议收藏)
  10. F5入口IP依据不同的端口实现转发到不同的POOL
  11. 如何配置Windows Live Writer发布博客园随笔
  12. 2020ccks知识图谱问答总结
  13. 回归分析中f多少合适_问下,spss回归分析得出的R方值、F值、t值各有何含义,数值大小有何含义?...
  14. Ubuntu下安装SQLite、与简单介绍
  15. 销售竞争情报实战--徐凌云老师
  16. python在使用pyinstaller打包文件时提示找不到指定模块
  17. linux系统处理excel,Apache POI处理Excel文档
  18. 数字IC秋招手撕代码(二)50%占空比的三分频
  19. uniapp框架如何实现仿微信相册插件 | 图视频编辑 + 压缩
  20. 解决 git 将文本文件视为二进制文件 导致无法查看diff

热门文章

  1. java期未项目_Java项目实战知到期末答案
  2. oracle lead 方法,Oracle SQL之lag()和lead()函数使用详解
  3. potplayer快捷键
  4. 记录一个被自己蠢到的事——解决Potplay等播放器播放视频异常打不开故障
  5. 最强大脑 奇虎360 2017校园招聘笔试题
  6. VMware vSphere 虚拟化实施手册及故障案例 | 多图
  7. 工作三年的前端开发20k简历标准
  8. 用户贷款风险预测之Top10初体验
  9. c语言程序设计第五版第三章课后题
  10. e9000刀片服务器文档,Tecal-E9000刀片服务器交换模块.doc