0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_kBxdsOIg 来源:指南车机器人科技 2023-09-19 15:11 次阅读

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

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

c7a2900e-56ba-11ee-939d-92fbcf53809c.png

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

c7af92e0-56ba-11ee-939d-92fbcf53809c.png

在QT5中,串口通信是借助一个QSerialPort的对象来实现的,在设置QSerialPort对象对串口的名称、波特率、数据位、校验位、停止位等参数后,方能对串口进行读写。

下面,我总结了一下借助QSerailPort对串口进行设置、打开、读、写和关闭的过程。

设置和打开串口

c7bb2150-56ba-11ee-939d-92fbcf53809c.png

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

设置串口名为 COM3

设置波特率为9600

设置数据位为8位

设置没有奇偶校验位

设置停止位为1位

设置没有流控制

以可读写的方式打开串口

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

二 读取数据

c7c34894-56ba-11ee-939d-92fbcf53809c.png

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

c7d031b2-56ba-11ee-939d-92fbcf53809c.png

三 发送数据

c7d71482-56ba-11ee-939d-92fbcf53809c.png

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

四 关闭串口

c7e6c0a8-56ba-11ee-939d-92fbcf53809c.png

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

接下来是一个实例

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

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

c7f5fd5c-56ba-11ee-939d-92fbcf53809c.png

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

c7ff631a-56ba-11ee-939d-92fbcf53809c.png

c80ba634-56ba-11ee-939d-92fbcf53809c.png

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

c8179930-56ba-11ee-939d-92fbcf53809c.png

c827fc4e-56ba-11ee-939d-92fbcf53809c.png

c831a316-56ba-11ee-939d-92fbcf53809c.png

c83de982-56ba-11ee-939d-92fbcf53809c.png

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

c846c0b6-56ba-11ee-939d-92fbcf53809c.png

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

c84edab2-56ba-11ee-939d-92fbcf53809c.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • USB接口
    +关注

    关注

    9

    文章

    699

    浏览量

    55570
  • 串口通信
    +关注

    关注

    34

    文章

    1620

    浏览量

    55415
  • 上位机
    +关注

    关注

    27

    文章

    930

    浏览量

    54725
  • TTL模块
    +关注

    关注

    0

    文章

    4

    浏览量

    2353

原文标题:干货分享 | QT5串口编程——编写简单的上位机

文章出处:【微信号:你身边的机器人专家,微信公众号:你身边的机器人专家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    QT串口通信的简单使用

    QT串口通信是上位和下位通信常用的通信方式, 也是学习QT必须学会的基础知识, 这篇就
    的头像 发表于 01-15 09:27 1817次阅读
    <b class='flag-5'>QT</b><b class='flag-5'>串口</b>通信的<b class='flag-5'>简单</b>使用

    怎样使用Qt编写一个简单上位

    怎样使用Qt编写一个简单上位呢?有哪些步骤?
    发表于 03-02 06:07

    qt编写的触摸小键盘

    使用qt5编写qt程序小键盘,对于qLineedit的重写
    发表于 03-03 15:06 7次下载

    Qt5 学习之路及嵌入式开发教程14:Qt5主窗口---界面设置

    Qt5 学习之路及嵌入式开发教程14:Qt5主窗口---界面设置这次任务要完成Qt5主窗口的界面设计Qt5主窗口布局及基本元素基本元素QMainWindow是一个为用户提供主窗口程序的
    发表于 11-03 09:51 12次下载
    <b class='flag-5'>Qt5</b> 学习之路及嵌入式开发教程14:<b class='flag-5'>Qt5</b>主窗口---界面设置

    基于RS232串口实现PIC单片下位QT上位通信

    基于RS232串口实现PIC单片下位QT上位通信
    发表于 11-16 12:21 21次下载
    基于RS232<b class='flag-5'>串口</b>实现PIC单片<b class='flag-5'>机</b>下位<b class='flag-5'>机</b>与<b class='flag-5'>QT</b><b class='flag-5'>上位</b><b class='flag-5'>机</b>通信

    STM32串口通讯

    :KEIL5 MDK③ 实验所用串口:USART1硬件原理图:这里 CH340G芯片 的作用是将电脑的USB电平转换为串口的TTL电平。2、实验要求STM32系统给上位
    发表于 12-06 20:21 13次下载
    STM32<b class='flag-5'>串口</b>通讯

    基于QT简单上位

    。同样的,我们也从编写一个简单的基于QT上位来体会体会上位
    发表于 05-08 10:57 16次下载
    基于<b class='flag-5'>QT</b>的<b class='flag-5'>简单</b>的<b class='flag-5'>上位</b><b class='flag-5'>机</b>

    手把手教你编写一个上位

    本次来教大家编写一个基于QT简单上位。 学习一个新的东西我们都从最基础地实例开始,比如学习C语言我们会从
    发表于 05-08 10:36 1次下载
    手把手教你<b class='flag-5'>编写</b>一个<b class='flag-5'>上位</b><b class='flag-5'>机</b>

    QTQT上位串口编程

    QTQT上位串口编程 最近因为项目需要,需要用到上位
    发表于 05-08 10:02 25次下载
    <b class='flag-5'>QT</b>篇<b class='flag-5'>QT</b><b class='flag-5'>上位</b><b class='flag-5'>机</b><b class='flag-5'>串口</b><b class='flag-5'>编程</b>

    QT|编写一个简单上位

    QT | 编写一个简单上位 时间 :2023-03-19文章目录QT |
    发表于 05-08 10:12 3次下载
    <b class='flag-5'>QT</b>|<b class='flag-5'>编写</b>一个<b class='flag-5'>简单</b>的<b class='flag-5'>上位</b><b class='flag-5'>机</b>

    QT实现简单上位软件

    最近项目要求写上位软件,需要实现界面功能和串口读写。界面方面用过MFC(早忘记了),网上查阅资料后发现QT在5.1版本后有自带的串口模块,
    发表于 05-08 09:54 4次下载
    <b class='flag-5'>QT</b>实现<b class='flag-5'>简单</b>的<b class='flag-5'>上位</b><b class='flag-5'>机</b>软件

    QT串口数据接收上位

    QT串口数据接收上位1.界面设计 2.串口配置 3.文件读写 4.使用QT遇到的一些问题
    发表于 05-09 14:26 2次下载
    <b class='flag-5'>QT</b><b class='flag-5'>串口</b>数据接收<b class='flag-5'>上位</b><b class='flag-5'>机</b>

    qt stm32串口示例以及led上位

    今天研究了半天终于把stm32的串口能搞出来了,然后顺便写了一个qt上位来控制小灯效果就是如下:qt
    发表于 05-10 15:03 11次下载
    <b class='flag-5'>qt</b> stm32<b class='flag-5'>串口</b>示例以及led<b class='flag-5'>上位</b><b class='flag-5'>机</b>

    QT5串口编程——编写简单上位

    下面开始介绍串口类的使用。 首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添加一行: ​然后直接引用头文件就可以了。 ​在QT5中,串口通信是借助一个
    发表于 05-10 14:28 0次下载
    <b class='flag-5'>QT5</b><b class='flag-5'>串口</b><b class='flag-5'>编程</b>——<b class='flag-5'>编写</b><b class='flag-5'>简单</b>的<b class='flag-5'>上位</b><b class='flag-5'>机</b>

    Qt5实现上位串口通信

    Qt助手内搜索:Qt Serial Port为串口的相关函数  1.添加串口头文件: # include //使用串口功能# inc
    发表于 05-10 10:46 0次下载
    <b class='flag-5'>Qt5</b>实现<b class='flag-5'>上位</b><b class='flag-5'>机</b>与<b class='flag-5'>串口</b>通信