你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于 TouchGFX 生成的代码中添加触摸功能的方法

[复制链接]
STMCU小助手 发布时间:2022-8-7 18:45
1. 引言. _. Q) z" m. p
越来越多的智能设备会在 MCU 上实现图形界面,而 TouchGFX 是专门用于 ST MCU上的图形界面设计软件,使图形界面在 MCU 上能达到类似智能手机的显示效果。
  ~# l1 D/ ~3 G, oTouchGFX 图形引擎包括三部分:搜集、更新、渲染。其中在搜集阶段,图形引擎从外部环境收集事件,这些事件通常是触摸和按钮事件。TouchGFX 采样并将事件传递到应用程序,这样原始触摸动作就被转换为更具体的应用程序的触摸事件。例如,点击(用户在显示屏上按下或松开手指)、拖动(用户触摸显示屏并在显示屏上移动手指)、手势(用户向一个方向快速移动手指,然后松开)等功能,这些操作都会被图形引擎识别并转发给当前活动的 UI 元素。
) q3 ]+ K. W% g9 y8 C( N7 j本文主要介绍 TouchGFX 从显示器的触摸控制器读取触摸坐标,并将其传递给应用程序的方法及原理,使开发者能够很容易的在 TouchGFX 生成的代码中添加触摸功能。2 H& b4 n; {+ X8 e: l8 s# I1 x

8 x, N  o2 W! q' k: _! F
- ]! 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

+ h9 g+ }; G" Q# W& n 9I{46_DIH9E9UPOL82FRK.png " }( m, _: w/ X
; 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 元素。
5 D& [. W$ W8 J* ^! N0 u9 `7 M1 \. X; i- v5 ?3 k8 k2 f4 `

1 a# W5 X. y  {$ @% W, h 2E[K[]8Q79KU0K3SX)ZZNPC.png
+ U! G& i) J$ o1 Z  N' ?. f3 U/ F. T
3. 触摸功能实现步骤
4 ?+ e$ R+ G! `要实现触摸功能,首先需通过 STM32CubeMX 正确配置触摸控制器和 MCU,并添加相应驱动代码,保证 MCU 通过 I2C 或其他接口从触摸控制器读取信息,最后在TouchController 接口函数中添加相应的实现代码。
# g- }  r2 x2 g* w) k[size=14.6667px]
5 t# g. |8 j3 v9 V1 `, O: }0 Q" ?

" f) x& Y( [& `" j5 Q; 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

收藏 评论0 发布时间:2022-8-7 18:45

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版