
一、生成代码 在TouchGFX Designer按F4可以生成代码 从代码目录中可以看出,生成的目录已经直接支持多个常用平台,如:IAR,Keil,stm32cubeide等。我用的是stm32cubeide。 为方便以下讲解先把需要的源码位置先标示出来 二、照葫芦画瓢,自建example 重建一个基于STM32H745I-DISCO空白工程,按照example,布局按键和显示,各控件的命名与原来一直。只做了些微调和增加一个复位按钮。 设置按键单击事件 生成代码后,会在MainViewBase.hpp中建一个MainViewBase类,类中定义了按键的虚函数(上图:Action中设置)。 在MainViewBase.cpp中设置了回调 具体实现: 首先在MainView.hpp中创建MainView类,继承自MainViewBase类 然后在MainView.cpp中编写各按键具体操作函数和刷新显示函数
|
【2025·STM32峰会】GUI解决方案实训分享4-使用MVP架构从硬件外设读取数据并显示到图形界面、从图形界面发送指令控制硬件外设
【2025·STM32峰会】GUI解决方案实训分享3-搭建空白TouchGFX例程并实现简单的功能(含硬件部分的串口打印)
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
【2025·STM32峰会】+TouchGFX实现动态进度显示以及界面切换
【2025·STM32峰会】+使用TouchGFX快速创建GUI
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
实战经验 | 关于STM32H7使用LL库生成ADC代码工作异常问题说明
实战经验 | 关于STM32H745的MC SDK电机控制工程问题的解决办法
【H745I GUI】1.GreenHouse 灯光控制
【Wio Lite AI视觉开发套件】+移植TensorFlow Lite
7 c6 x" p' R: a1 O. N; u
+ x, i' n0 F8 ?: Y- Q; E& W v
在把钩打上,就会在MainViewBase.hpp的MainViewBase类内,建立一个buffer。
5 l- @9 L( s/ b* h
```
/*9 G# K4 Y+ X( v) K# ?/ X9 b
* Wildcard Buffers+ t+ S- @" ]4 t. Q( Y+ z( ^
*/; b3 K: I" b9 u/ D& D0 n) \, ~9 `
static const uint16_t COUNTTXT_SIZE = 3;& {( [: A# j4 I- R& I6 R' t
touchgfx::Unicode::UnicodeChar countTxtBuffer[COUNTTXT_SIZE];- t& o; o" A5 @- {3 Q! K. j
```: X4 k5 n" G1 ^( d, T) u" {, U) }' i
7 T0 P% G ~- @+ U" ? T
在MainView.cpp的刷新显示函数里,往这个buffer里填入count值就行了5 V6 O6 D* p6 ?4 }, ?
/ J2 g7 b" A9 P: y
```: X4 H) L/ K7 X+ N) Y% g
void MainView::updateGFXElements()
{& v a, T3 Y0 G; S7 V
//Counter text area GFX uptade.0 y! T4 V8 \) p6 ~1 d' [& P+ v
Unicode::snprintf(countTxtBuffer, 3, "%d", count);
//Button GFX update and touchable./ ~* J$ m9 S# \, \" E
```
三、效果6 r M1 ~. B9 M6 U7 j$ y4 U# x. G