touchGFX学习记录分享
前言
本系列文章由萧萧宵小(wurendikunn@outlook.com)编写,转载请注明出处。
文章链接:https://blog.csdn.net/qq_33350808/article/details/108310942
由于工作中项目需求,在接下来的一段时间会学习touchGFX的相关知识。由于在百度搜索的中文教程几乎没有,为数不多也是官方文档的例子。学习资料少的情况下还不如自己研究,写在这里一是记录过程用作备忘录,二是与大家共勉。新知识的探究需要思维的碰撞,如果有大佬看出我文中的纰漏,我将感激不尽。
接下来先对touchGFX进行介绍:
1、touchGFX介绍
先看官网对它的介绍:
TouchGFX is a user-friendly graphical C++ tool integrated as a free tool in the STM32 ecosystem as part of the STM32 GUI offer.
With TouchGFX, you can easily create revolutionizing embedded graphical user interfaces (GUIs) with a user-centric look and feel.
TouchGFX combines the simplicity of the drag & drop GUI builder TouchGFX Designer, the efficiency and flexibility of the C++ language with the convenience of a PC simulator.
This gives you the perfect environment for developing advanced embedded user interfaces with high-end graphics and amazing performance on a wide range of STM32 microcontrollers, fast and easy.
翻译过来就是:
TouCHGFX是一个用户友好的图形化C++工具,是STM32生态系统中提供GUI支持的免费工具。(免费指的是在STM芯片上免费,已经被STM收购了)
使用TouchGFX可以轻松创建革命性的嵌入式图形用户界面,具有以用户为中心的外观和感觉。
TouChgfx结合了拖拽GUI控件和简易的TouCHGFX Designer,以及C++语言的效率和灵活性,可以便捷地在PC进行仿真。
这为您开发先进的嵌入式用户界面提供了一个完美的环境,在各种STM32微控制器上具有高端图形和惊人的性能,快速而简单。
我的理解是touchGFX是单片机领域的一个GUI框架,但它不是单纯的显示UI,它能调用底层的显示和触摸驱动,做出来的效果更贴近现代智能手机的交互方式。在官网可以看到使用touchGFX的一个代表产品就是华为手表,由此可以看出使用touchGFX进行嵌入式GUI的开发应该是绰绰有余的。
2、开发touchGFX需要哪些知识
- 需要有一定的C++基础,起码要懂得类,继承,虚函数等初级知识。虽然官方宣传不需要太多的C++能力,但是起码ToucHGFX Designer已经生成好的代码要能看懂。
- 需要有熟练的嵌入式开始知识,熟悉STM32单片机(目前只能在STM32上进行开发)。软件部分熟悉C语言,需要弄清C与C++联合编译时需要注意的地方;硬件部分至少需要有LCD外设,触摸外设,外接Flash(扩展rom),外接SDRAM(扩展ram);等等,现在我也不熟,以后再写详细一点。不过能点开这个文章的人目的性应该很强,能力应该不会很差。
- 开发使用的硬件可以先用STM的官方开发板,在ToucHGFX Designer中有针对这些开发版的实例程序。
- 还要有一定的英文阅读能力,因为在它只有英文帮助文档,目前百度几乎不可能找到帮助,只能使用谷歌,这时就要看你的英文水平了。
3、我如何学习touchGFX
学习任何一门知识都有两个基本阶段:入门阶段和自研阶段。在入门阶段时,大家可以在网上找到一些相对友好的傻瓜教程,根据步骤也能依葫芦画瓢地完成基本功能,建立起一点成就感,同时对这门知识有一个大体的认识。在自研阶段时,由于自己想要实现一个额外的功能,就会花费大量的时间去实现它,同时获得更加深入的理解。
目前我能找到的资料只有一份2500+页的英文官方文档和ToucHGFX Designer自带的历程程序。就先从这里着手,目前的学习计划是先用开发版熟悉touchGFX软件的开发,先在电脑上实现功能的仿真;后期再学习硬件的搭建,使其运行在自己的解决方案中。
希望我的学习记录能够帮助大家渡过简单的入门阶段。下面是学习记录的传送门: