上次已经发现了TouchGFX能够直接生成工程,且基础配置无需改动,那就摸索下如何把UI和硬件控制联系起来。 首先屏幕上按键按下和抬起要有区别,选择不同的图标就能够实现,暂时使用自带图标资源。6 _1 g7 W F0 L0 B# B' `5 q; t 8 Q* j. d) H: L5 Y 6 I! b- @- a) S1 }- @ 然后要给按键创建事件响应,在这里叫interaction。如下图,这里最好把名字改一下,方便自己在代码里一眼找出来。 / b/ b1 \; Z; \* A" k% ]1 ] 做完这些,就把界面上的工作搞完了,接下来生成新的工程,从程序里做功课。记得自己主界面的名字,因为下面我发现自己不好找了。比如默认是Screen1, 那在程序里的父窗口类就是ScreenViewBase,这个cpp文件在generate目录下,同时在软件界面勾选了要执行虚函数,且给命名为function_led。那么此时在cubeIDE里就能看到具体所在了,在头文件中是个公有成员函数。 文件本身有写保护,需要先修改属性,然后改成定义形式,在cpp文件中去实现,保持代码的统一和查阅方便,将该虚函数重写就可以了。由于涉及到控制GPIO,本工程没有对LED灯做配置,所以要先找到LED的管脚并初始化。如LED1就是GPIOO的PIN1。+ A" B; p: q5 Q4 V, m, p. ` 然后编辑函数内容,读取当前LED引脚电平并反转,就可以实现按钮按下开,再按下关的循环操作了。 这款屏的分辨率比较好,看着界面干净清晰。TouchGFX倒是和Qt有点相似,继续体验。演示视频如下; F' L4 N* x: P |
【GUI板免费申请活动】【圣诞GUI】使用F746-DISO基于TouchGFX的圣诞树
【管管推荐】基于STM32-GUI经验分享篇
TouchGFX 4.23:支持矢量字体,节省Flash,更丰富的UI!
【STM32H7S78-DK】汽车仪表系统
【STM32H7S78-DK评测】TouchGFX (QR Code)二维码生成器
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】有点艰难的亮屏
有奖直播 | STM32图形解决方案,让你的产品轻松的脱颖而出
【NUCLEO-H533RE评测】4、移植TouchGFX
[NUCLEO-C031C6评测] 驱动LCD 第三步 显示颜色块