@领卓教育

使用软件:QT5.6.1,keil5
使用硬件:STM32F103
实现目标:使用QT设计UI界面生成按键控制页面,用来控制开发板,能控制LED1、LED2和蜂鸣器,能显示开发板电池电压、位电器电压、电池温度,还能显示温湿度、光强、压强。

QT里 .h 代码如下:

#ifndef APP_H
#define APP_H#include <QWidget>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QDebug>
namespace Ui {
class app;
}class app : public QWidget
{Q_OBJECTpublic:explicit app(QWidget *parent = 0);~app();private slots:void on_pushButton_open_clicked();void on_receive_data();void on_pushButton_send_clicked();void on_pushButton_led1_clicked();void on_pushButton_clear_recv_clicked();void on_pushButton_led2_clicked();void on_pushButton_beep_clicked();void on_pushButton_sensor_clicked();void on_pushButton_adc_vl_clicked();void on_pushButton_adc_temp_clicked();void on_pushButton_vr_ba_adc_clicked();private:Ui::app *ui;QSerialPort *serial;
};#endif // APP_H

QT里 .c 代码如下:

#include "app.h"
#include "ui_app.h"
#include "string.h"
app::app(QWidget *parent) :QWidget(parent),ui(new Ui::app)
{ui->setupUi(this);foreach (const QSerialPortInfo &info,QSerialPortInfo::availablePorts()){QSerialPort serial;serial.setPort(info);if(serial.open(QIODevice::ReadWrite)){// ui->PortBox->addItem(serial.portName());ui->comboBox_serial->addItem(serial.portName());serial.close();}}serial = new QSerialPort;serial->setPortName(ui->comboBox_serial->currentText());}app::~app()
{delete ui;
}
void app::on_receive_data()
{QByteArray data =  serial->readAll();qDebug() << data.data();
//    if(strncmp (data.data(),"h",1)==0)
//    {
//        char *p = data.data();
//        while(*p != 'm')
//        {
//            ui->textEdit->insertPlainText(QString(*p));
//            p++;
//        }
//        return ;
//    }
//    else
//    {
//        ui->textEdit_recv->insertPlainText(QString(data));
//    }ui->textEdit_recv->insertPlainText(QString(data));return ;
}void app::on_pushButton_open_clicked()
{static int flag = 1;if(flag ==1){if(serial->open(QIODevice::ReadWrite) ){ui->pushButton_open->setText("关闭");flag = 0;serial->setBaudRate(QSerialPort::Baud115200);//设置波特率为115200serial->setDataBits(QSerialPort::Data8);//设置数据位8serial->setParity(QSerialPort::NoParity); //校验位设置为0serial->setStopBits(QSerialPort::OneStop);//停止png位设置为1serial->setFlowControl(QSerialPort::NoFlowControl);//设置为无流控制QObject::connect(serial,SIGNAL(readyRead()),this,SLOT(on_receive_data()));}}else{serial->close();ui->pushButton_open->setText("打开");flag = 1;}}void app::on_pushButton_send_clicked()
{//QByteArray  data =  ui->textEdit_send->toPlainText().toUtf8();//serial->write(data);
}//清除显示
void app::on_pushButton_clear_recv_clicked()
{ui->textEdit_recv->clear();
}//LED2
void app::on_pushButton_led2_clicked()
{static int flag = 1;QByteArray data;if(flag){data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x03;qDebug() << data;serial->write(data);flag = 0;}else if(flag == 0){data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x04;qDebug() << data;serial->write(data);flag = 1;}else{return ;}
}//蜂鸣器
void app::on_pushButton_beep_clicked()
{static int flag = 1;QByteArray data;if(flag){data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x05;qDebug() << data;serial->write(data);flag = 0;}else if(flag == 0){data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x06;qDebug() << data;serial->write(data);flag = 1;}else{return ;}
}//led1
void app::on_pushButton_led1_clicked()
{static int flag = 1;QByteArray data;if(flag){data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x01;qDebug() << data;serial->write(data);flag = 0;}else if(flag == 0){data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x02;qDebug() << data;serial->write(data);flag = 1;}else{return ;}
}//温湿度、光压强
void app::on_pushButton_sensor_clicked()
{QByteArray data;data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x07;qDebug() << data;serial->write(data);
}void app::on_pushButton_adc_vl_clicked()
{QByteArray data;data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x08;qDebug() << data;serial->write(data);
}void app::on_pushButton_vr_ba_adc_clicked()
{QByteArray data;data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x09;qDebug() << data;serial->write(data);
}void app::on_pushButton_adc_temp_clicked()
{QByteArray data;data[0] = 0xaa;data[1] = 0xbb;data[2] = 0x0a;qDebug() << data;serial->write(data);}

UI界面如下:

来自 领卓培训机构 ——培训中的一名菜鸟。

【领卓教育】QT控制开发板相关推荐

  1. 领卓教育:QT图片转换器

    标题***领卓教育:QT图片转换器(ico<--------->png)*** 作者:妳看! ui界面: 用到的类: QFileDialog QDebug QByteArray QImag ...

  2. 使用Qt实现图片格式转换[领卓教育]

    [领卓教育]使用Qt实现图片格式转换 主要实现代码 int app::save_file(){ QString filename1 = QFileDialog::getSaveFileName(thi ...

  3. 领卓教育科技有限公司毕业实习报告

    绥化学院本科生毕业实习报告   领卓教育科技有限公司毕业实习报告         学生姓名   *** 学    号   20135**** 专    业  自动化 指导教师   *** 绥  化   ...

  4. STM32 FOC BLDC 无刷电机 控制开发板资料 视频教程 例程 FOC库

    STM32 FOC BLDC 无刷电机 控制开发板资料 视频教程 例程 FOC库 华愉电子工作室 软件特点:使用ST公司V2.0 版本马达库为基础,同时为了让初学者尽快上手,所以没有加过多的软件技巧, ...

  5. 【物联网设计记录】基于机智云云平台的Wi-Fi控制开发板

    1.设计整体思路 开发板使用了ESP8266Wi-Fi模块实现数据传输. 控制流程图 ESP8266模块负责传输数据,手机通过Wi-Fi连接至机智云平台,并传输指令至平台再而传递控制指令至开发板,实现 ...

  6. winform连接blynk 控制开发板

    winform 连接blynk服务 读取引脚值和设置引脚值 简介 配置blynk服务到Ubuntu或树莓派 winform连入blynk服务 2022/11/3 简介 blynk是开源的物联网开发平台 ...

  7. uart的后续,控制开发板按键,并且与led进行联系

    文章目录 说在前面 用轮询的方式去控制按键. 通过看原理图得知要配置的按键的对应寄存器是哪些. 用GPH0为例子 写key的相关函数. 记得包含好头文件 说在前面 其实我一直以为简单的东西可以不用做笔 ...

  8. 用QT制作图片转换成ICO格式 领卓教育

    头文件      UI页面自己设计自己的页面,槽函数改下就可以 #include "app.h" #include "ui_app.h" #include &l ...

  9. Qt之开发板和电脑通过网线通信

    一.简介 现在有一个需求,不能联网的机器端想要与pc端的qt程序通信,所以在中间添加了一块转接板. 工作模式:机器端串口通信转接板,转接板wifi通信pc端(内网模式下) 那么在你出厂的时候,转接板肯 ...

最新文章

  1. mysql 字段存放小图标_让MySQL支持emoji图标存储
  2. 探讨:COCO2017数据集中包含很多目标被标注为一个框bbox,是标注错误吗?
  3. 我的Android进阶之旅------解决Android Studio编译后安装apk报错:The APK file does not exist on disk...
  4. boost::test模块具有自定义初始化测试的共享库使用变体
  5. svn 的使用(二)
  6. 如何备份和还原您的Kubernetes集群资源和持久卷?
  7. 阻止表单提交,超链接默认行为
  8. java protobuf extend_如何使用protobuf extend和编写protobuf插件
  9. jquery中filter(fn)的使用研究
  10. BZOJ 1106: [POI2007]立方体大作战tet 树状数组 + 贪心
  11. 更新CocoaPods碰到的问题及知识点
  12. x86 单线并发多拨_带宽“单线多拨“倍增大法教程
  13. 阿里云DataWorks数据集成(DataX)架构实践分享
  14. 一款非常棒的开源微社区轻论坛类源码
  15. 红米k40刷鸿蒙系统,红米K40开孔仅2.8mm,全球最小或命名为无感孔,到底有多极致...
  16. 中国石油大学北京计算机保研,中国石油大学(北京)地球物理与信息工程学院(专业学位)计算机技术保研细则...
  17. C语言 函数返回多个值方法
  18. S9306 VR002 配置acl
  19. 水彩画的特殊绘画工具,这几类绘画方法见都没见过~
  20. 创业三个月总结---记录这三个月的酸甜苦辣咸!!!

热门文章

  1. 世界名校公开课网络资料
  2. 预处理2-POS Tagging
  3. ANSI, UTF-8, Unicode, GBK, GB2312 字符编码小结
  4. camera接口---MIPI CSI-2接口、DVP接口和FPD-Link III LVDS、GMSL等接口对比
  5. 常见面试题汇总-第一篇
  6. 烤仔建工承建推客之家元宇宙总部
  7. 是不是不能用茶水喝药?
  8. 异常、File、IO、网络编程、反射
  9. 行业沙龙第七期丨合同电子化管理,高效采购协同
  10. 图像缩放(Image resize)