stm32 TouchGFX基础教程(十四)触控点亮LED
Touchgfx用MVP架构将UI界面、界面逻辑、硬件系统三者分离,这是官方例程里的说明:
View: 负责描述UI界面,比如包含哪些控件、控件如何布局等,Touchgfx Designer软件里的工作就是在构建View
Model: 保存与UI界面有关的数据;有个tick()函数,每秒执行60次,实现与硬件系统交互,相当于硬件与Touchgfx之间的桥梁
Presenter:在Model与View之间起传话筒的作用
System:Touchgfx以外所有的其它部分都属于System的范畴
之所以使用MVP架构是为了把代码功能分离开来,增强系统的可移植性和可阅读性。
下面介绍如何通过触控界面控制一个LED灯,这其实是一个拆套娃的过程:
我们可以看到,HAL_GPIO_TogglePin(…)函数经过多级封装被最顶端的View调用,是最终干活的小老弟。我们也完全可以在View的点击事件回调函数里直接调用HAL_GPIO_TogglePin函数,但是这样会破坏MVP结构,不推荐这样做。所以还是按官方的方法,一层一层剥套娃吧。
下面在开发板上实战。
1、在前面配置好的工程模板里添加一个LED:
2、Touchgfx Designer里放一个按键,并为它添加交互函数btnClicked:
3、用VS打开生成的仿真项目,然后在Screen1View中实现btnClicked:
4、由于presenter里没有btnClicked这个方法,所以需要为它添加一个:
5、同样,Model里也没有toggleLED方法,依然需要为它添加。不过,VS仿真中并不支持调用系统底层的函数,所以将VS保存关闭,我们在MDK中为Model添加toggleLED方法:
6、编译下载到开发板就可以看到现象了:
-------------------------------下面是我的小广告----------------------------------------------
淘宝小店:芯视界touchgfx
- stm32 TouchGFX基础教程(十五)按键控制屏幕
- STM32单片机基础03——使用GPIO点亮一个LED
- 创建keil工程并点亮STM32板子的LED灯(详解)
- 【STM32】HAL库STM32CubeMX+True Studio系列教程(一)——GPIO配置LED灯
- STM32使用固件库点亮LED
- TouchGFX教程周更新01_环境安装& RUN第一个例程
- STM32 外部中断的使用(按键中断点亮LED)
- python基础教程(十四)
- stm32—GIOP固件库输入输出(+点亮LED+按键检测)
- 关于 点亮8*8LED点阵(24脚)的爱心教程
- 最简单的STM32入门教程----闪烁LED
- 利用keil编写stm32循环点亮一LED灯
- 1.1 zigbee基础(点亮LED灯)
- STM32移植contiki入门之二:简单编程点亮LED灯
- IOS编程教程(十四):回到基础,介绍面向对象编程
- Arduino教程 初体验之点亮自带LED灯(含管脚图)
- STM32学习之点亮LED
- PHP基础教程十四之使用MySqli操作数据库
- Stm32学习笔记一————库函数法点亮LED灯
- stm32学习的日子-构建库函数雏形(第1节)—寄存器结构体定义控制点亮G0Kitv2.1 LED2和LED4