QT上位机串口通信工具实现之概述篇

系列文章目录

1.概念
2.模数/数模转换
2.1模数转换器ADC
2.2数模转换器DAC
3.端口参数
3.1比特率
3.2流量控制方式
3.3缓冲存储器
3.4串行适配器终端和I/O地址
4.windows API编程控制串口
4.1概述
4.2串口通讯相关API
4.2.1 打开、关闭串口
4.2.2 串口配置和串口属性
4.2.3 读写串口
4.2.4 通信事件
4.2.5 设备控制命令

前言

首先这个一系列实现是基于基础到完整实现的,所以第一篇会简要介绍主要内容和需要掌握的基础知识,帮助你在接下来的开发不仅是照搬,而是理解,这样也有便于实现自己想要的功能。

这里对不起看unity串口通讯开发的友友们,unity的C#串口通讯开发估计要暂停一下了,但是我当初实现的时候是能够在PC和硬件设备内达到通讯的,但是比如你在硬件设备里通讯里如何打包、而PC里怎么分析指令那些我还没解决,因为我硬件设备里它已经有一套数据传输的实现了,所以我没法随意按照自己的想法去打包数据,而且因为硬件设备自身开启的线程优先级等原因,导致在开发过程中因为线程堵塞问题会导致通讯失败,所以这些问题都有待解决。
但是我还没解决完就被推荐改成QT开发串口通讯了!!所以这个我会持续更新的!!那个也会,只不过估计要挺久的一段时间,如果比较急想请教,欢迎私聊我~~因为我打算考研,相信明年的我!!有空了,就会疯狂不断更新优化不同的知识啦嘿嘿。
希望大家多多支持和指教~

串口通讯基础

概念

1.基本概念

概念:设备与PC之间的通讯和控制
设备统称:下位机
PC:上位机
串口通讯:232、422、485通讯

QT开发串口通讯工具

QT下载网上有很多教程,一个是通过国内镜像网站下载(比较快),还有官网下载等,网上有许多链接,这里附上我参考的几个链接,我官网和镜像都下过,都是可以的,大家自行选择。
QT与Qt Creator
QT5.11下载与安装教程

QT用于串口通信的库文件

方法:

方法1:Qt5发布之前,大部分人使用的是第三方写的qextserialport类
方法2:Qt5发布后自带了QtSerialPort 能够支持串口通信。

方法1:qextserialport的下载渠道:
http://sourceforge.net/projects/qextserialport/files/
http://download.csdn.net/source/1762781 或 http://www.qtcn.org/bbs/read.php?tid=22847

下载到的文件为:qextserialport-1.2win-alpha.zip

方法1:Qt5发布后自带了QtSerialPort
可以在QT官网等找到关于串口编程提供的类在这里插入图片描述
头文件有:

扫描二维码关注公众号,回复: 14618304 查看本文章

#include <QtSerialPort/QtSerialPort>
提供了两个类:
#include //提供访问串口的功能
#include //提供系统中存在的串口的信息

QT

(此处主要是给对QT还不熟悉的人先了解的,如果有需要,我会开启另外一个博客讲QT,可见链接,先去了解下QT和相关一些实战案例,然后来实现会事半功倍嗷~)
QT上位机串口通信工具实现之QT开发篇

概念

QT是一个跨平台的C++的GUI应用框架,提供了丰富的窗口部件集,面向对象、易于扩展、真正的组件编程等特点。

实现

1.如何实现

上位机通过串口给下位机发送相应的数指令,下位机执行相应的操作。
串口通信:
1.设置端口号、波特率、奇偶校验、数据位、停止位、数据流控制等
2.选择串口
3.读/写串口数据
4.关闭串口

难点:
数据类型转换、串口发送、格式转换

基于QT5自带QSerialPort类开发

串口通信实现步骤:

实例化一个串口对象,串口对象里包含串口名称、波特率、数据位、奇偶校验位、停止位等参数,然后根据这些信息打开串口,然后对串口的数据进行读写。
上位机从串口读取数据,将数据存入接受缓冲区,然后可以利用相关函数读取缓冲区的数据。
发送数据到下位机。
关闭串口。

UI界面实现:利用QtCreator的UI文件实现上位机界面。

基于qextserialport开发

我们在windows下仅仅须要使用当中的6个文件:

qextserialbase.cpp和qextserialbase.h,qextserialport.cpp和qextserialport.h,win_qextserialport.cpp和win_qextserialport.h

总结

参考视频

参考:QT实现串口通信

参考:QT实现串口通信

参考:QT实现串口通信

猜你喜欢

转载自blog.csdn.net/qq_43614246/article/details/123064123