最近在学习嵌入式,而上位机又是一个不可缺少的工具,于是就开始接触QT,学习编写上位机。刚开始的时候什么都不懂,发现《Qt 学习之路 2》有比较好的入门教程。学习了前面部分,对QT有了大概的了解后,就开始在网上寻找串口编程的方法。通过好几天的学习,终于写出了一个用于串口通信的上位机。下面开始介绍串口类的使用。

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

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

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

一、设置和打开串口

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

设置串口名为 COM3

设置波特率为9600

设置数据位为8位

设置没有奇偶校验位

设置停止位为1位

设置没有流控制

以可读写的方式打开串口

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

二、读取数据

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

三、发送数据

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

四、关闭串口

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

接下来是一个实例

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

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

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

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

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

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

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

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

    下面开始介绍串口类的使用. 首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添加一行: ​然后直接引用头文件就可以了. ​在QT5中,串口通信是借助一个QSerialPor ...

  2. 跳板机的工作原理和简单的跳板机实现

    一.了解跳板机     跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 跳板机是网络中容易受到侵害的主机,所以跳板 ...

  3. java怎么写网络爬虫_教你如何编写简单的网络爬虫

    一.网络爬虫的基本知识 网络爬虫通过遍历互联网络,把网络中的相关网页全部抓取过来,这体现了爬的概念.爬虫如何遍历网络呢,互联网可以看做是一张大图,每个页面看做其中的一个节点,页面的连接看做是有向边.图 ...

  4. C#上位机开发串口通信编程——倒计时器开发

    C#上位机开发串口通信编程--倒计时器开发 一.介绍 这是我按照B站上的一个上位机开发视频教程开发的倒计时器开发,本来只有开始计时功能,没有停止计时功能,停止计时功能后面我自己添加了. 视频网址:C# ...

  5. 从零开始编写一个上位机(串口助手)QT Creator + Python

    提示:本博客作为学习笔记,有错误的地方希望指正,此文可能会比较长,作为学习笔记的积累,希望对来着有帮助.   绪论:笔者这里使用的是QTCreator和Python来实现一个简单的串口上位机的开发的简 ...

  6. 最简单DIY基于ESP32CAM的物联网相机系统⑤(用C#上位机实现串口图传)

    第一篇:最简单DIY基于ESP32CAM的物联网相机系统①(用网页实现拍照图传) 第二篇:最简单DIY基于ESP32CAM的物联网相机系统②(在JAVAWEB服务器实现图片查看器) 第三篇:最简单DI ...

  7. 上位机通过串口获取单片机数据

    上位机通过串口获取单片机数据(C#) 需求 准备 功能设计 界面设计 关键程序 打开串口 发送数据 接收数据 实现页面 完整源码 后续 需求 我们在平时使用单片机制作项目时,总是希望能够实时显示一些数 ...

  8. STM32串口烧录BIN文件、字库文件【QT上位机】- Uart_Transfer_BIN_to_EX_FLASH

    STM32串口烧录BIN文件.字库文件[QT上位机] 项目已开源至GitHub,供大家一起学习使用 点我传送 这里写目录标题 STM32串口烧录BIN文件.字库文件[QT上位机] 一.上位机部分 1. ...

  9. PIC单片机的AD数据传输和上位机C#串口界面实时显示

    PIC单片机的AD数据传输和上位机C#窗口界面实时显示 硬件:BK300开发板+PIC16F877A芯片+Pickit2 软件:MPLAB IDE v8.91.Visual Studio 2019 下 ...

最新文章

  1. 未排序数组中累加和为给定值的最长子数组系列问题
  2. GB28181协议支持的H264的PS封装实现
  3. 线程中这么调用类_「手撕面试官」谈谈你对JDK中Executor的理解?
  4. 绑定到对象上的copyWithin方法
  5. Python+Opencv建立一个文档扫描器
  6. 浅析PetShop程序中的购物车和订单处理模块(Profile技术,异步MSMQ消息)
  7. python选取tensor某一维_Pytorch的Tensor操作(1)
  8. java搜索引擎创建索引_搜索引擎系列 ---lucene简介 创建索引和搜索初步
  9. linux命令中info,Linux中zipinfo命令起什么作用呢?
  10. 手把手教你如何把本地文件传到服务器,如何映射
  11. 杜绝焦虑,如何提高执行力改变生活?
  12. Android实现通过浏览器点击链接打开本地应用(APP)
  13. 电子实验室仪器使用大全
  14. 3KAL芯片规格书,3KAL电路图
  15. java获取指定周的第一天和最后一天(周统计报表)
  16. 开启前端CSS学习之路-css003
  17. k-means和GMM的区别
  18. 混沌分形之谢尔宾斯基(Sierpinski)
  19. Ethereum HD KDF
  20. WORKGROUP无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。找不到网络路径。”

热门文章

  1. 经典 搞笑 美女掉入碧波里...
  2. 自定义带图标文字分割线通用布局,用于列表布局的设置、菜单页的item
  3. 关于登陆界面背景图片缩放变形的解决方法
  4. Dell戴尔服务器添加新硬盘认不到解决方法
  5. c语言存款利息的计算switch,求助。。关于用switch编写简易计算器
  6. Python编程入门教程(以在线评测平台为载体)
  7. RK3568平台开发系列讲解(安卓适配篇)获取 root 权限
  8. DPABI下载安装、测试及部分问题汇总
  9. 一行代码制作自己的QQ/微信二维码,还可以制作动态的哟~(小白再也不用去求别人了)
  10. python从小白到大牛百度云盘_Python从小白到大牛