TouchGFX Documentation
-你想要的GUI参考全在这里-
随着智能物联时代的到来,对传统的嵌入式设备提出了更多和更高的要求,如安全性、AI、计算能力、交互友好、使用时长、方便易用等等。
得益于强大丰富的产品线,STM32在上述硬性需求上都有所考量,这里主要是在人机交互GUI方面的介绍,通过之前我们发布过的一些相关文章(详见文末指引),大家可以看到,STM32拥有强大的GUI工具TouchGFX,能够在嵌入式设备上实现安卓手机上一样流畅的效果,那么如何在STM32上轻松使用TouchGFX呢?
TouchGFX Documentation提供了完美的答案!
TouchGFX Documentation
——TouchGFX Team耗时数月精心打造的资料库,它以网页的形式呈现:
https://support.touchgfx.com/docs/introduction/welcome
接下来为大家介绍其主要板块。
安装
TouchGFX相关的程序安装,也统一放进了STM32强大的开发工具STM32CubeMX中,可以根据引导逐步完成安装。
快速开始
考虑到很多开发者和初学者希望能够快速完成原型开发和工具的熟悉,如上图所示,TouchGFX提供了丰富的例程,结合STM32已有的强大生态,硬件有各种类型的开发板、评估板,软件有STM32Cube和各种应用示例,开发者可以直接参考例程进行原型开发,并在STM32相应的开发板上进行验证,非常简便易用!
这里包含对嵌入式图像、像素格式、显存、图像处理引擎、操作系统、内存使用等基本概念的介绍,帮助用户对嵌入式GUI能够有基本的认知和全局的把握。
开发流程介绍
这里包含对嵌入式图像、像素格式、显存、图像处理引擎、操作系统、内存使用等基本概念的介绍,帮助用户对嵌入式GUI能够有基本的认知和全局的把握。
基于STM32 + TouchGFX开发GUI相关的项目,我们把开发流程分为:
硬件的选型 --> 板级初始化 --> TouchGFX抽象层 --> TouchGFX UI应用开发
硬件平台的选择及板级正常运行
硬件平台主要包括MCU,液晶屏及相应接口,外部FLASH,外部RAM,这需要开发者从整体来考虑,比如液晶屏的分辨率,MCU和液晶屏之间的接口,MCU内部的RAM是否够用,是否需要外扩RAM,以及通过QSPI或是FMC接口外扩FLASH,用来存放图片,视频,字体等资源。
硬件BOM选型完成后,就可以通过强大的STM32CubeMX,进行相应的配置,然后生成STM32驱动及TouchGFX的相关的初始化工程。
TouchGFX AL 抽象层开发
从这里可以看出,TouchGFX AL抽象层是一个纽带,负责维系项目板级驱动和TouchGFX引擎,它主要向TouchGFX引擎同步显存的状态,汇报触摸,按键的更新事件,同步并保护对显存的访问,渲染缓存,并将缓存内容显示出来。
UI应用开发
UI应用开发之前,需要了解一下TouchGFX的软件设计架构和模型,
TouchGFX采用了Model-View-Presenter的设计架构,具体如下:
M-V-P架构将逻辑从图形中分离出来,结构比较清晰,也便于代码的重用和各个模块的维护和独立测试。Model、View和Presenter这3个模块各司其职:
Model:定义需要显示的内容,以及和外部的接口的交互事件
View:显示接口,用于显示Model模块定义的内容,同时也将用户在界面上进行的操作命令(即相应的事件)传递到Presenter模块
Presenter:从上图中也可以看的出来,Presenter是一个枢纽和控制器,它负责控制和传递Model和View之间的事件。
在介绍完TouchGFX的软件架构后,TouchGFX Documentation对TouchGFX相关使用做了非常详尽的介绍,包括TouchGFX Designer的使用,Designer中所有控件的介绍及应用代码示例,以及结合目前所有带液晶屏的STM32 DEMO板的相应示例,主要包括可穿戴应用、家电应用、仪表盘应用等等,并且还在不断增加中。
以下示例供参考:
TouchGFX Documentation最后单独列出了所有相关的API及资源总结,以方便用户进行检索和便捷地使用。希望开发者和爱好者能通过介绍,对TouchGFX本身及如何利用STM32 + TouchGFX开发UI有所了解,在真正使用和开发过程中能够利用TouchGFX Documentation更流畅地使用这个强大的GUI开发工具!
TouchGFX Documentation的中文翻译正在进行中,相信很快就可以和大家见面了!
最后,依然少不了彩蛋:
GUI生态系统模块在STM32中文官网已经正式上线了
(点击文末阅读原文即可跳转到链接) https://www.stmcu.com.cn/ecosystem/app/function-GUI
GUI生态系统专栏里,不仅包含了丰富的资料,demo,线上培训教程,以及FLASH,RAM,LCD Panel及IDH的合作伙伴,无论在方案设计,BOM成本,开发的易用性方面,都有非常丰富的资源可以参考,来吧!释放你的创造力!
注:此文章所用的所有图片及动图均来自TouchGFX Documentation!
相关文章
点击文字跳转到相关文章
看脸的世界,你的产品怎能不美?STM32 GUI线上课程教你创造高颜值产品
小缓存实现大效果:X-NUCLEO-GFX01M1 和 TouchGFX 4.15让你的产品光芒闪耀
技术分享 |TouchGFX 简单界面设计——按键控制光圈移动
高性能MCU助力家电新启航