|
一、生成代码 在TouchGFX Designer按F4可以生成代码
从代码目录中可以看出,生成的目录已经直接支持多个常用平台,如:IAR,Keil,stm32cubeide等。我用的是stm32cubeide。 为方便以下讲解先把需要的源码位置先标示出来
二、照葫芦画瓢,自建example 重建一个基于STM32H745I-DISCO空白工程,按照example,布局按键和显示,各控件的命名与原来一直。只做了些微调和增加一个复位按钮。
设置按键单击事件
生成代码后,会在MainViewBase.hpp中建一个MainViewBase类,类中定义了按键的虚函数(上图:Action中设置)。
在MainViewBase.cpp中设置了回调
具体实现: 首先在MainView.hpp中创建MainView类,继承自MainViewBase类
然后在MainView.cpp中编写各按键具体操作函数和刷新显示函数 |
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
微信公众号
手机版
在把钩打上,就会在MainViewBase.hpp的MainViewBase类内,建立一个buffer。4 A) r, E, N% V9 P+ H0 j' }% j
```
/*
* Wildcard Buffers
*/# l/ F$ L# x1 o# q5 J- c8 _
static const uint16_t COUNTTXT_SIZE = 3;
touchgfx::Unicode::UnicodeChar countTxtBuffer[COUNTTXT_SIZE];6 {' p$ f) X8 R, Y# x2 R$ g3 q
```
在MainView.cpp的刷新显示函数里,往这个buffer里填入count值就行了, L! K F/ S2 N* n
' q* L; m, Y5 D3 q2 f% Z6 y
```5 l# }, k; H, V- S$ B% g0 L" b' U
void MainView::updateGFXElements()$ {4 i R, Z* H2 Y
{
//Counter text area GFX uptade.( ~4 c1 e8 V+ j+ F, O- k/ \% o5 W
Unicode::snprintf(countTxtBuffer, 3, "%d", count);" b- ]! k7 {2 Z. W, J
//Button GFX update and touchable.! @; |/ I# y& D: y/ C+ n: S* r
```
$ `7 O% _+ \' D3 W7 g& v; j: P0 _
三、效果/ r7 x$ q; A4 q c
! T1 {% g% K! ?1 e8 u