
前言 TouchGFX 为 MCU 带来了炫彩丰富的 GUI 界面,使得基于 STM32 芯片的人机界面开发非常方便而友好,比如可以在 TouchGFX Designer 中创建一个按键,在 interaction 中给按键添加响应;或者创建多个界面,在界面间进行切换;这些功能由 designer 帮我们自动生成代码实现了,那与之对应的功能响应代码具体是如何实现的呢? TouchGFX 是用 C++编写的,借助 C++的模板特性,TouchGFX 定义了一组Callback 模板,基于此模板来实现上述响应的功能。 Callback 模板 在 TouchGFX 中,Callback 模板的描述放在 Callback.hpp 文件中,在此定义了两组模板:GenericCallback 与 Callback 模板。 GenericCallback 模板组 GenericCallback 为 Callback 模板的模板基类。在 GenericCallback 模板中,定义了两个接口函数:isValid 与 execute;其中 isValid 是来检测 Callback 是否被初始化过,而 execute 函数用于调用实际要执行的函数。GenericCallback 模板组总共定义了 4 个模板,模板之间的差别在于 execute 函数的参数个数不同,4个模板分别对应 execute 函数带有 0 个参数,1 个参数,2 个参数与 3 个参数。本文中仅列出 execute 带一个参数的情况。 下面是 execute 函数带 1 个参数的 GenericCallback 模板:
Callback 模板组 Callback 模板由 GenericCallback 派生而来。Callback 模板组也有 4 个模板,分别对应于包含不同参数个数 execute 函数的 GenericCallback 模板,继承关系如下图: ![]() 完整版请查看:附件 template <class T1> class GenericCallback { public: virtual ~GenericCallback() { } virtual void execute(T1 val1) = 0; virtual bool isValid() const = 0; }; |
CallbackTemplate_in_TouchGFX_v0.2.pdf
下载250.53 KB, 下载次数: 0
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南