STM32F429移植touchGFX(二)—— 使用MVP架构来实现GUI和硬件的双向交互

目录:

新版:
0.STM32F429使用STM32CUBMX5.6移植touchGFX4.13
旧版:
1.STM32F429移植touchGFX(一)——通过STM32CubeMX移植TouchGFX
2.STM32F429移植touchGFX(二)—— 使用MVP架构来实现GUI和硬件的双向交互
3.STM32F429移植touchGFX(三)—— 实现DIY数字仪表

实验平台:

硬件: 野火挑战者STM32F429开发版
软件: 最新版本的STM32CubeF4固件库,TouchGFXDesigner v4.12.3和 STM32CubeMX v5.4.0,开发环境MDK v5.26

实验前准备工作:

1.准备一套 野火挑战者STM32F429开发版,和下载工具
2.下载 TouchGFXDesigner v4.12.3
3.下载 STM32CubeMX v5.4.0
4.下载 MDK v5.26

下载:

代码持续更新中:github代码下载地址

联系作者:

欢迎加我微信,一起学习交流
在这里插入图片描述

使用TouchGFX MVP来实现和硬件的双向交互

mvp的全称为Model-View-Presenter,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部。
用一句话来概括MVP:所有数据仅能保存在称为 Model 的类对象(简单说就是一种文件)中,Presenter是视图(View)与Model之间的纽带,View只能通过Presenter来读取数据。
MVP优点:
模型与视图完全分离,我们可以修改视图而不影响模型;
可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部;
我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁;
如果我们把逻辑放在Presenter中,那么我们就可以脱离用户接口来测试这些逻辑(单元测试)
MVP架构
在这里插入图片描述
一.增加一个按键任务和一个消息队列
在这里插入图片描述
二.用户使用UI控制LED
在这里插入图片描述
1.在屏幕二添加按钮开关
在这里插入图片描述
2.用户实现M
在这里插入图片描述
在这里插入图片描述
3.用户实现P
在这里插入图片描述
4.用户实现V
在这里插入图片描述
在这里插入图片描述

三.用户使用外部按键操作界面
在这里插入图片描述
1.在屏幕二添加按钮开关
在这里插入图片描述
2、实现M
在这里插入图片描述
在这里插入图片描述
3、实现P
在这里插入图片描述
在这里插入图片描述
4、实现V
在这里插入图片描述
在这里插入图片描述
5、添加用户代码
在这里插入图片描述

发布了23 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sinat_31039061/article/details/96979689
今日推荐