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

目录:

实战
1.STM32F767移植touchGFX—— 使用RT-Thread系统实现DIY数字仪表(完成)
2STM32F429移植touchGFX—— 使用RT-Thread系统实现DIY数字仪表(完成)
3.STM32H750移植touchGFX—— 基于RT-Thread物联网系统实现AI图像识别(计划进行)

实验平台:

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

实验前准备工作:

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
Screen2View继承自Screen2ViewBase,view.handleKeyEvent(USP_KEY) ->Screen2ViewBase::handleKeyEvent(uint8_t key)->Screen2View::togglelight();
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
5、添加用户代码
在这里插入图片描述
关注公众号,后续有精彩内容会第一时间发送给您!
在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WALI-KANG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值