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進行交互,從而實現智能手錶的實時數據處理和用戶界面的無縫連接。