|
一、生成代码 在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。* S/ V! C) w3 _3 }/ t5 o7 ]( u
4 e9 V. | I& T4 H& a, l
```
/*3 \4 {8 d3 K; ~
* Wildcard Buffers
*/
static const uint16_t COUNTTXT_SIZE = 3;
touchgfx::Unicode::UnicodeChar countTxtBuffer[COUNTTXT_SIZE];
```
在MainView.cpp的刷新显示函数里,往这个buffer里填入count值就行了# Y5 Q. {. q& R8 j* j- o; o
5 ]* [# ^, l* N2 v% I9 Z
```
void MainView::updateGFXElements()5 o4 q# A7 s: T9 V4 k) |8 ^/ @
{. a# H- q) f) O. E' S' a
//Counter text area GFX uptade.' ]$ o/ j3 M4 f: j' {
Unicode::snprintf(countTxtBuffer, 3, "%d", count);$ p1 o8 J! R- Y! ]7 \, P! p. N
//Button GFX update and touchable.) h" {" F: r o
```0 \7 r, q$ J# G; ^& ], P5 a
三、效果