php写串口上位机,QT5串口编程—编写简单的上位机
最近在学习嵌入式,而上位机又是一个不可缺少的工具,于是就开始接触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串口编程—编写简单的上位机相关推荐
- QT5串口编程——编写简单的上位机
下面开始介绍串口类的使用. 首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添加一行: 然后直接引用头文件就可以了. 在QT5中,串口通信是借助一个QSerialPor ...
- 跳板机的工作原理和简单的跳板机实现
一.了解跳板机 跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 跳板机是网络中容易受到侵害的主机,所以跳板 ...
- java怎么写网络爬虫_教你如何编写简单的网络爬虫
一.网络爬虫的基本知识 网络爬虫通过遍历互联网络,把网络中的相关网页全部抓取过来,这体现了爬的概念.爬虫如何遍历网络呢,互联网可以看做是一张大图,每个页面看做其中的一个节点,页面的连接看做是有向边.图 ...
- C#上位机开发串口通信编程——倒计时器开发
C#上位机开发串口通信编程--倒计时器开发 一.介绍 这是我按照B站上的一个上位机开发视频教程开发的倒计时器开发,本来只有开始计时功能,没有停止计时功能,停止计时功能后面我自己添加了. 视频网址:C# ...
- 从零开始编写一个上位机(串口助手)QT Creator + Python
提示:本博客作为学习笔记,有错误的地方希望指正,此文可能会比较长,作为学习笔记的积累,希望对来着有帮助. 绪论:笔者这里使用的是QTCreator和Python来实现一个简单的串口上位机的开发的简 ...
- 最简单DIY基于ESP32CAM的物联网相机系统⑤(用C#上位机实现串口图传)
第一篇:最简单DIY基于ESP32CAM的物联网相机系统①(用网页实现拍照图传) 第二篇:最简单DIY基于ESP32CAM的物联网相机系统②(在JAVAWEB服务器实现图片查看器) 第三篇:最简单DI ...
- 上位机通过串口获取单片机数据
上位机通过串口获取单片机数据(C#) 需求 准备 功能设计 界面设计 关键程序 打开串口 发送数据 接收数据 实现页面 完整源码 后续 需求 我们在平时使用单片机制作项目时,总是希望能够实时显示一些数 ...
- STM32串口烧录BIN文件、字库文件【QT上位机】- Uart_Transfer_BIN_to_EX_FLASH
STM32串口烧录BIN文件.字库文件[QT上位机] 项目已开源至GitHub,供大家一起学习使用 点我传送 这里写目录标题 STM32串口烧录BIN文件.字库文件[QT上位机] 一.上位机部分 1. ...
- PIC单片机的AD数据传输和上位机C#串口界面实时显示
PIC单片机的AD数据传输和上位机C#窗口界面实时显示 硬件:BK300开发板+PIC16F877A芯片+Pickit2 软件:MPLAB IDE v8.91.Visual Studio 2019 下 ...
最新文章
- 未排序数组中累加和为给定值的最长子数组系列问题
- GB28181协议支持的H264的PS封装实现
- 线程中这么调用类_「手撕面试官」谈谈你对JDK中Executor的理解?
- 绑定到对象上的copyWithin方法
- Python+Opencv建立一个文档扫描器
- 浅析PetShop程序中的购物车和订单处理模块(Profile技术,异步MSMQ消息)
- python选取tensor某一维_Pytorch的Tensor操作(1)
- java搜索引擎创建索引_搜索引擎系列 ---lucene简介 创建索引和搜索初步
- linux命令中info,Linux中zipinfo命令起什么作用呢?
- 手把手教你如何把本地文件传到服务器,如何映射
- 杜绝焦虑,如何提高执行力改变生活?
- Android实现通过浏览器点击链接打开本地应用(APP)
- 电子实验室仪器使用大全
- 3KAL芯片规格书,3KAL电路图
- java获取指定周的第一天和最后一天(周统计报表)
- 开启前端CSS学习之路-css003
- k-means和GMM的区别
- 混沌分形之谢尔宾斯基(Sierpinski)
- Ethereum HD KDF
- WORKGROUP无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。找不到网络路径。”
热门文章
- 经典 搞笑 美女掉入碧波里...
- 自定义带图标文字分割线通用布局,用于列表布局的设置、菜单页的item
- 关于登陆界面背景图片缩放变形的解决方法
- Dell戴尔服务器添加新硬盘认不到解决方法
- c语言存款利息的计算switch,求助。。关于用switch编写简易计算器
- Python编程入门教程(以在线评测平台为载体)
- RK3568平台开发系列讲解(安卓适配篇)获取 root 权限
- DPABI下载安装、测试及部分问题汇总
- 一行代码制作自己的QQ/微信二维码,还可以制作动态的哟~(小白再也不用去求别人了)
- python从小白到大牛百度云盘_Python从小白到大牛