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

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

[复制链接]
STMCU小助手 发布时间:2022-8-7 18:45
1. 引言
* ~) U! z  K6 I% u越来越多的智能设备会在 MCU 上实现图形界面,而 TouchGFX 是专门用于 ST MCU上的图形界面设计软件,使图形界面在 MCU 上能达到类似智能手机的显示效果。" f: L9 S5 ^/ E5 u4 h5 M3 q' |" w
TouchGFX 图形引擎包括三部分:搜集、更新、渲染。其中在搜集阶段,图形引擎从外部环境收集事件,这些事件通常是触摸和按钮事件。TouchGFX 采样并将事件传递到应用程序,这样原始触摸动作就被转换为更具体的应用程序的触摸事件。例如,点击(用户在显示屏上按下或松开手指)、拖动(用户触摸显示屏并在显示屏上移动手指)、手势(用户向一个方向快速移动手指,然后松开)等功能,这些操作都会被图形引擎识别并转发给当前活动的 UI 元素。: [$ s7 N" m/ R
本文主要介绍 TouchGFX 从显示器的触摸控制器读取触摸坐标,并将其传递给应用程序的方法及原理,使开发者能够很容易的在 TouchGFX 生成的代码中添加触摸功能。8 d! z/ m. y5 C- m% ^

; A" `& Z. F5 S5 a+ u- x4 N7 c  T

* A$ N/ w1 s' I5 I1 ?2. TouchGFX 抽象层架构
, `* C0 G- A8 U8 a7 y$ \TouchGFX 引擎通过 HAL 的具体子类来访问 HAL。这些子类由 TouchGFX Generator生成,Generator 是创建抽象层的主要工具,可以生成反映 STM32CubeMX 配置的 HAL部分,以及 CMSIS V1 或 V2 的 OSAL。通常 HAL 的架构如图 1 所示。
/ c5 Y! R# |# c) h: d

' Q: L7 d6 f% k2 A' y( ]/ B 9I{46_DIH9E9UPOL82FRK.png 9 T7 s# u/ R3 ]

0 j% o) ^# q1 U7 K7 dTouchGFX 抽象层(Abstraction Layer,简称 AL)具有一套特殊的职责, 职责要么在AL (HAL)的硬件部分实现,要么在与 TouchGFX Engine 同步的 AL 部分实现,典型的做法是通过 RTOS (OSAL)来实现。 图 2 总结了 TouchGFX AL 的主要职责,其中有一项任务就是报告触摸与物理按钮事件,TouchGFX 将原始触摸动作转换为具体的触摸事件,并转发给当前活动的 UI 元素。
# Y" @5 x3 P3 ~
9 ~$ |/ y/ x$ ~$ o2 `9 ~. s
8 z7 V% t" B1 V5 s1 @
2E[K[]8Q79KU0K3SX)ZZNPC.png
: U: ?8 j6 |8 e, L
1 R0 }1 B$ e, [8 B% [3. 触摸功能实现步骤4 n$ Q* d" X$ ^5 @) }. Y- n
要实现触摸功能,首先需通过 STM32CubeMX 正确配置触摸控制器和 MCU,并添加相应驱动代码,保证 MCU 通过 I2C 或其他接口从触摸控制器读取信息,最后在TouchController 接口函数中添加相应的实现代码。
& b# |* l0 F. {5 S$ \* N1 Y$ U/ o0 O  }6 Q" E* Z  V3 c. L

  z: V6 I3 B" X: R! b' P
4 {6 \6 `0 m& h
5 Q% J1 y% t0 L
完整版请查看:附件
1 G) F9 K3 O8 _; k# Y3 t4 Q1 i4 {7 R7 v. @6 W
! v, Q- {, ^  K% w: ]
6 W7 ], i9 w) t+ n7 {" ~5 z5 \

LAT1101在基于TouchGFX生成的代码中添加触摸功能的方法V1.pdf

下载

574.19 KB, 下载次数: 4

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

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版