A. STM32单片机实战项目:基于TouchGFX的智能手表设计(9)底层驱动与UI进行关联
在STM32单片机实战项目中,Smart Watch设计的关键部分之一是通过TouchGFX实现的后台系统与用户界面(UI)的交互。TouchGFX的Model类起着核心作用,它作为应用的非UI部分(后端系统)与UI之间的桥梁。后端系统负责处理传感器数据等事件,并将这些信息传递给UI,即使在屏幕切换时,也能保持数据一致性。
Model类是持久存在的,其主要职责有两个:一是存储UI状态,由于View和Presenter在切换屏幕时会被销毁,Model则用于保存需要持续保留的信息。二是作为后端系统和UI的接口,接收和发送事件。设计师只需实现ModelListener接口中的方法,模型会自动更新并通知与之关联的Presenter。
在STM32CubeMX配置完成后,我们需要使用TouchGFX 4.21.2 Designer生成特定的代码,包括Model.cpp、Model.hpp和ModelListener.hpp。这些文件中,我们添加了处理UI数据交互的接口,以实现底层驱动与UI的关联。
在Model.cpp中,我们插入了与底层驱动交互的代码,Model.hpp和ModelListener.hpp则用来声明这些接口。以下是这部分代码的相关部分:
在Model.cpp中:
Model.hpp中的函数声明:
ModelListener.hpp中的函数声明:
这些代码的添加确保了智能手表的底层驱动能够有效地与TouchGFX UI进行交互,从而实现智能手表的实时数据处理和用户界面的无缝连接。