1. 引言. _. Q) z" m. p 越来越多的智能设备会在 MCU 上实现图形界面,而 TouchGFX 是专门用于 ST MCU上的图形界面设计软件,使图形界面在 MCU 上能达到类似智能手机的显示效果。 TouchGFX 图形引擎包括三部分:搜集、更新、渲染。其中在搜集阶段,图形引擎从外部环境收集事件,这些事件通常是触摸和按钮事件。TouchGFX 采样并将事件传递到应用程序,这样原始触摸动作就被转换为更具体的应用程序的触摸事件。例如,点击(用户在显示屏上按下或松开手指)、拖动(用户触摸显示屏并在显示屏上移动手指)、手势(用户向一个方向快速移动手指,然后松开)等功能,这些操作都会被图形引擎识别并转发给当前活动的 UI 元素。 本文主要介绍 TouchGFX 从显示器的触摸控制器读取触摸坐标,并将其传递给应用程序的方法及原理,使开发者能够很容易的在 TouchGFX 生成的代码中添加触摸功能。2 H& b4 n; {+ X8 e: l8 s# I1 x - ]! m$ m& W4 P5 X& q- j 2. TouchGFX 抽象层架构6 g6 S/ P& s) Q) e! c$ Y: R" z( X TouchGFX 引擎通过 HAL 的具体子类来访问 HAL。这些子类由 TouchGFX Generator生成,Generator 是创建抽象层的主要工具,可以生成反映 STM32CubeMX 配置的 HAL部分,以及 CMSIS V1 或 V2 的 OSAL。通常 HAL 的架构如图 1 所示。& y/ K8 h' O8 ?( w, w; B( ]+ p$ i ; y* q0 i7 G8 h) e$ N5 _1 T TouchGFX 抽象层(Abstraction Layer,简称 AL)具有一套特殊的职责, 职责要么在AL (HAL)的硬件部分实现,要么在与 TouchGFX Engine 同步的 AL 部分实现,典型的做法是通过 RTOS (OSAL)来实现。 图 2 总结了 TouchGFX AL 的主要职责,其中有一项任务就是报告触摸与物理按钮事件,TouchGFX 将原始触摸动作转换为具体的触摸事件,并转发给当前活动的 UI 元素。 1 \. X; i- v5 ?3 k8 k2 f4 ` ' ?. f3 U/ F. T 3. 触摸功能实现步骤 要实现触摸功能,首先需通过 STM32CubeMX 正确配置触摸控制器和 MCU,并添加相应驱动代码,保证 MCU 通过 I2C 或其他接口从触摸控制器读取信息,最后在TouchController 接口函数中添加相应的实现代码。 [size=14.6667px] ; a7 q8 {6 C6 {0 \3 H" r % ~6 O$ B$ _) M; y 完整版请查看:附件9 u9 _$ C x' n8 |0 a5 q 2 p- ]& H! o8 U: V7 f' p & z: q' C+ Q6 K1 { # v0 I. y3 w/ k5 E |
LAT1101在基于TouchGFX生成的代码中添加触摸功能的方法V1.pdf
下载574.19 KB, 下载次数: 0
基于STM32的BootLoader经验分享
基于STM32如何选择 S2-LP 的外部晶体经验分享
基于是STM32的BLE 设备地址经验分享
基于ToF传感器的3D手势识别
NUCLEO-U545RE-Q评测(2)运行环境建立
基于使用 STM32 TT 类型 IO 的注意事项经验分享
基于STM32使用Framebuffer_Analyzer工具调试图像显示
ST安全连接,护航工业物联网一路前行
基于STM32的TouchGFX 4.22解锁新功能经验分享
基于STM32的MPU子区经验分享