|
GUI解决方案的实训后半部分为编译运行TouchGFX咖啡机例程,这个部分更为耗时,从ST官方人员讲解,到动手实操,再到修改首页界面的咖啡加热圆形进度圈,用时3个半小时,从下午3点开始紧凑进行到下午6点半,中间遇到的问题也都要一一解决。) s6 O, G* i$ O) k5 ^ Q 要运行TouchGFX咖啡机例程,必须先在TouchGFX4.25目录下添加正点原子H7R7开发板的TPA文件,即对该开发板的底层硬件初始化配置,包括液晶屏驱动库,触摸屏驱动库,系统定时器,中断等等,该目录为TouchGFX安装目录的\app\packages目录下,还有对TouchGFX界面的初始化DEMO,也是TPA文件(TGUI-CoffeeMachine-WS7-P30-1.0.0.tpa TGUI-CoffeeMachine-WS7-P31-1.0.0.tpa TGUI-CoffeeMachine-WS7-P32-1.0.0.tpa):
这样,在打开TouchGFX的时候才可以正确选择开发板型号及DEMO选项:
创建例程之后,简单浏览一下各个界面的组成控件,如Screen,一个Screen代表一个界面,创建多个Screen就可以在多个界面之间来回切换,功能类似于LVGL和QT的TableWidget;box为背景色控件,添加交互控件之前必须先添加box作为基础;button为按键控件,TouchGFX的按键是可以添加Label icon和image的,也就是文字按键、图标按键和图像按键;tileImage为实现界面水波纹的控件;circleProgress就是圆形进度圈了;还有Interaction(交互),用于实现按钮切换屏幕,tick定时器定时触发事件等等。
右下角三个按钮分别为代码生成 桌面模拟器 编译并烧录:: Q0 ?8 C1 k" h0 ~4 e
/ @5 B! i, Y( U3 }! K 如果想要在Windows桌面端模拟这个TouchGFX工程的运行结果,那就需要先生成代码,然后点击桌面模拟器,运行环境为MSVC:
如果只需要生成烧录到开发板上面的固件,那就在代码生成后运行最右边的按钮即可。这里需要提一点,由于STM32H7R7的开发板RAM资源有限,因此必须限制RGB图像格式为压缩格式,这样会大大增加编译时间,但是必须选择这点,不然是无法编译成功的:4 ^1 z4 I, E* Q" ~) ~' P
然后就是依次烧录TouchGFX工程的Boot固件和APP固件,具体烧录方式参考上帖,但是这里需要注意的是,烧录APP固件所用的外部FLASH算法也跟上一帖不同,为EML_MX25UM51245G_STM32H7S7L8H6.stldr:# Q y$ P8 d& t2 \8 E
烧录成功后,上机实测的演示效果: 7 P1 ]$ D/ Y% j4 L% I 0 j3 X& ]1 N7 u0 }% M |
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
STM32CubeProgrammer 2.23新版本发布
技术手册stm32f1xx中的一个小问题
STM32 GUI 图形方案,带你解锁嵌入式界面开发新思路
4-开发生态篇:TouchGFX+STM32Cube 一站式 GUI 落地流程
3-产品选型篇:全系列 STM32 GUI 专用 MCU 分级选型表
2-架构革新篇:STM32单芯片嵌入式GUI核心技术原理与性能优势
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
微信公众号
手机版
如图,可以看出,实训提供的TPA文件,可能对DMA2D初始化那块还需要修改一下刷屏代码,不然花屏现象非常严重。% l8 M# n! e6 Q& Y: s3 F0 | l