单片机与QT上位机通信

这篇具有很好参考价值的文章主要介绍了单片机与QT上位机通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.项目说明

2.上位机QT绘制

2.1建立工程

 2.2绘制ui

 2.3编程

2.3.1 头文件

2.3.2 CPP文件

 2.3.3 运行测试

2.4进阶--实现两个界面切换

2.4.1绘制ui

 2.4.2编程

 2.4.3完善第二个界面

3.单片机数据发送

1.项目说明

此次项目为通过51单片机将温湿度数据通过串口发送给QT,QT做界面并显示。要求实时显示,并且QT设置两个界面,第一个界面显示整体数据,方便以后扩展多个数据内容,在每个数据后面添加一个”详情“按键,点击按键可以跳转到第二个界面,第二个界面为这个采集数据的详细信息,可以增加图表显示。

扩展内容:1.显示整数和小数。

                  2.通过ESP8266wifi模块代替串口发送数据。

版本和器件说明:

单片机:STC89C52RC

QT:5.14.2

2.上位机QT绘制

2.1建立工程

点击文件->新建工程->模板选择QT Widgets Application->类信息选择main window(main window与Qwidget区别是有下拉菜单选项)

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 然后进入工程,点击左侧项目,会自动配置工程所需文件。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 此时项目里面就有了所需的工程文件,准备工作就绪,下面就是编写程序。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 2.2绘制ui

将各个器件拖进界面。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 2.3编程

2.3.1 头文件

mainwindow.h 类中增加声明。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 

2.3.2 CPP文件

mainwindow.cpp中进行实现。

主要有四步:初始化参数->控件编辑->完成信号与槽的连接->实现槽函数

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 2.3.3 运行测试

右键点击工程,选择运行。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 测试如下:

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

通过验证,功能正常。 

2.4进阶--实现两个界面切换

原理:通常只有一个界面的时候,在main函数中,构造函数后,让界面一直显示。

两个界面时,当第一个界面中按下要跳转到第二个界面的按键时,系统让第一个界面隐藏(不是退出),然后打开第二个界面。所以需要在第一个界面的构造函数中增加第二个界面构造函数的地址,实现调用。

当第二个界面要回到第一个界面时,需要通过信号的方式,通过发送信号给第一个界面,然后第二个界面隐藏,第一个界面显示。

2.4.1绘制ui

绘制第二个界面的ui。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 选择mainwindows

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

绘制UI,添加一个按键,用来回到上一页。

 qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 2.4.2编程

首先在第一个ui类里面增加一个ui类指针,并且再构造函数中创建第二个ui类。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 然后对按键建立槽函数,第一个ui的详情按键建立槽函数,功能是按下时隐藏第一个界面,打开第二个ui。

void MainWindow::on_detailpushButton_clicked()

{

    this->hide();

    this->ppage2->show();

}

    connect(ui->detailpushButton,&QPushButton::clicked,[=](){

        MainWindow::on_detailpushButton_clicked();

    });                                                     //点击按键跳转第二个界面

运行测试,可以正常跳转。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 下面是从第二个界面跳转会第一个界面。

思路是第二个界面通过按键绑定一个信号,按下按键发送信号。第一个界面由于包含第二个界面的类地址,所以可以直接访问信号,访问到信号时隐藏第二个界面,显示第一个界面。

void MainWindowpage2::on_backpushButton_clicked()

{

    //发信号

    emit this->back();

}

    connect(this->ppage2,&MainWindowpage2::back,[=](){

        this->ppage2->hide();

        this->show();

    });                                                     //接收第二个界面回退的信号

测试后成功切换到第一个界面。

qt与单片机交互,工具学习,单片机,qt,嵌入式硬件

 2.4.3完善第二个界面

同第一个界面一样,就是读取信息,做图表显示。

3.单片机数据发送

单片机采集数据并通过串口发送数据即可。文章来源地址https://www.toymoban.com/news/detail-811193.html

到了这里,关于单片机与QT上位机通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Qt上位机与STM32进行串口通信】-2-Qt串口开发

    系列文章目标:Qt上位机与STM32进行串口通信,控制多个LED的状态。 本篇文章的主要目标: 1、设计两个界面,串口连接界面、控制界面。 2、只有在串口连接成功才能打开控制界面。 3、打开控制界面时,串口保持连接。 4、自定义控件,提升开发效率。 以下是我入门Qt的视频

    2024年02月06日
    浏览(50)
  • c51单片机串口通信(中断方式接收数据)(单片机--单片机通信)示例代码 附proteus图

         单片机一般采用中断方式接受数据,这样便于及时处理 其中发送数据段采用的是查询方式,接收端采用了中断方式, 要注意的地方有: 在中断处理函数int_0()内,处理数据前要先关闭中断,否则中断可能会不断传过来, EA=0; 然后退出中断处理函数前恢复中断处理能力:

    2024年02月13日
    浏览(65)
  • 51单片机:设计一单片机双机通信电路

    鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域优质创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen) 设计一单片机双机通信电路。要求编程实现:甲单片机系统中的按键可以控制乙单片机系统中的数码管(MPX8)动

    2024年02月20日
    浏览(54)
  • 51单片机学习笔记_6 IO通信:电脑与单片机之间的通信

    单片机还可以通过IO口实现多种通信。 串行通信 :一条数据线,一次发1bit,发很久。 并行通信 :多条数据线,同时发送,发的速度快多了但是费用高、接收困难、抗干扰性差。 异步通信 :发送和接收方时钟可以不用完全一致。 同步通信 :发送和接收方时钟要完全一致。

    2024年02月08日
    浏览(49)
  • k210单片机的串口交互实验

    先来看看实验的结果吧,k210的9口为RX,10口为TX。接线:                                                         9口接usb转ttl的TX                                                         10口接usb转ttl的RX  下面介绍一下k210需要使用的模块:

    2024年02月13日
    浏览(45)
  • 【51单片机系列】proteus仿真单片机的串口通信

    本文参考:https://zhuanlan.zhihu.com/p/425809292。 在proteus之外使用串口软件和单片机通信。通过在proteus设计一个单片机接收PC发送的数据,并将接收的数据发送出去,利用软件【Configure Virtual Serial Port Driver】创建一对虚拟串口,利用软件【串口助手】向单片机发送数据。 proteus仿真

    2024年01月17日
    浏览(53)
  • 【51单片机系列】单片机与PC进行串行通信

    工业现场的测控系统中,常使用单片机进行监测点的数据采集,然后单片机通过串口与PC通信,把采集的数据串行传送到PC机上,再在PC机上进行数据处理。 PC机配置的都是RS-232标准串口,为D型9针插座,输入/输出为RS-232电平。D型9针插头引脚如下: 如下表为RS-232C的D型9针插头

    2024年01月17日
    浏览(44)
  • 基于XDMA 中断模式的 PCIE 上位机与FPGA数据交互架构 提供工程源码和QT上位机源码

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月11日
    浏览(55)
  • 创建OneNET新版MQTT设备:实现远程控制单片机 为微信小程序与单片机通信打基础(微信小程序通信单片机前置任务)

    本项目教程总共分为四节 1.(当前文章)创建OneNET新版MQTT设备:为微信小程序与单片机通信打基础(微信小程序通信单片机前置任务) 2.ESP8266-01s入门:烧录AT固件与OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信单片机前置任务) 3.物联网实践教程:微信小程序结合

    2024年02月04日
    浏览(83)
  • 单片机的串口通信

            今天,完整地总结一下普中科技的单片机的串口通信的硬件与编程,记录一下以后如果需要也比较方便捡起来。         单片机的串口部分的电路图。开发板上集成了 1 个串口通信电路,是 USB 转串口模块,它既可下载程序也可实现串口通信功能。         对这

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包