微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 嵌入式初级玩家养成计划--通过GUI按钮控制GPIO

嵌入式初级玩家养成计划--通过GUI按钮控制GPIO

时间:10-02 整理:3721RD 点击:

  小伙伴们,大家好。又经过几天的研究,今天给大家说说怎么通过触摸屏上面的按钮对GPIO进行控制,为了试验容易观察,我们继续使用上次的IO口控制对应的LED。

   好了,话不多说,先看大屏幕,哦--先看视频效果。注:我的LED2还没有修好(其实是一直懒得没修....),大家将就着看吧。






在做今天的试验之前,需要先进行gpio驱动的安装,如何安装可以参考我的上一遍文章:点亮AP板上的LED。然后建议大家先做完说明书上的QT SDK下面的helloword项目,然后再做这个就顺畅很多了。


今天所涉及的linux知识如下:


mkdir [floadrname]            创建文件夹


./PROGRAM                     运行程序


gcc -g -Wall file.c -o file   编译C程序


#include “unistd.h”         延时函数头文件  //经典流水灯所需啊


sleep(n)                    延时n秒


usleep(n)                   延时n微妙


umount /dev/sdb1              卸载U盘


mkfs -t ext2 /dev/sdb1        格式化U盘为ext2格式


df -m                         查看U盘挂载情况


首先需要安装QTcreator和qt4.7.3,这两个软件的安装和使用及其设置说明书上面都有。如下:





通过以上两节就可以将开发环境设置成功。


如何新建一个空项目,在说明书里面也有提到,如下:




做到这一步,就可以愉快的编程了。


首先,创建两个按钮,当然你也可以创建N个,反正我创建了8个,因为有4个led的关和开。按钮在下面红色标定位置,直接拖到工作区,然后双击改名(爱改不改#呵呵)。





做完上面步骤后,进入mainwindow.cpp里面,添加一下头文件:


#include "mainwindow.h"   //系统原配

#include "ui_mainwindow.h"//系统原配


#include <sys/types.h> //需要添加的


#include <sys/stat.h>//需要添加的


#include <fcntl.h>//需要添加的


#include <string.h>//需要添加的


然后再进到GUI界面,右键单击“led1-on”按钮,选择转到槽:





之后选择clicked()为其分配按键操作脚本:




然后点击确定,转到脚本编辑界面,为该按钮编写如下代码,代码的注释都在里面了,这是点亮LED的脚本:



使用同样的方法,为off按钮添加关闭led的脚本:




   然后使用同样的方法,为剩下的按钮添加脚本。之后使用qt4.7.3编译为arm结构的文件,挂载到开发板运行了。


    阶段感悟:到了今天,自大的可以认为已经过了入门阶段,下来就是做一些中级的算法实现和ui设计。话说linux这种跑系统开发就是方便啊,不需要去了解底层的寄存器和机器周期等等枯燥的东西,就像软件开发一样的做程序。以后更新的进度或许会慢,更新的篇幅也会变短,但是绝对不会发重复贴和类似贴,至少发出来的贴子新手都能很容易的看懂,也能学习到东西。很多时候我认为我的帖子都是一个引导作用:比如今天的GPIO点亮led,大家完全可以参考实现GPIO信号采集、ADC采集、以及数码管驱动。


今天废话有些小多啊!


好了,今天就到这里,让我们共同学习进步,前往前人未触及只地,去发现新世界,寻找新神奇!


祝论坛越办越红火,大家晚安。


----愿世界充满幸福!------To BeContinue!





怎么删除废弃楼 谁能告诉我?

总算知道 了怎么发视频    另外谁能告诉我怎么删楼

你删不了的哦!管理员或者小编才有权限删除。

做的好棒,学习了

你能帮我删掉不?

感谢分享,学习学习

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top