你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H7S78-DK评测】TouchGFX 按钮操作-点亮LED

[复制链接]
BinWin 发布时间:2024-7-21 01:36
       上次已经发现了TouchGFX能够直接生成工程,且基础配置无需改动,那就摸索下如何把UI和硬件控制联系起来。
0 v1 w/ M- _5 f/ f2 A6 X( j        首先屏幕上按键按下和抬起要有区别,选择不同的图标就能够实现,暂时使用自带图标资源。
9 B% O* X8 [. d4 L$ l$ L$ E0 L         2.png 6 t- D/ g: N4 }3 j  G
        ( m. w% `% ~: c3 n# T1 T5 H5 r7 f2 j9 b
( f7 c& G3 H2 q) D

* f" T) V8 g6 ~6 O        然后要给按键创建事件响应,在这里叫interaction。如下图,这里最好把名字改一下,方便自己在代码里一眼找出来。) m- }$ _1 h  j% l* h& c# N, g
2 Z: `, _8 i4 ~( @8 U
         1.png 6 c; \4 x6 z1 O9 z! D# U% x' ]
        做完这些,就把界面上的工作搞完了,接下来生成新的工程,从程序里做功课。记得自己主界面的名字,因为下面我发现自己不好找了。比如默认是Screen1, 那在程序里的父窗口类就是ScreenViewBase,这个cpp文件在generate目录下,同时在软件界面勾选了要执行虚函数,且给命名为function_led。那么此时在cubeIDE里就能看到具体所在了,在头文件中是个公有成员函数。
7 k, G* t% E& f# y       5.png
+ f0 f. J6 y/ w& x9 W        文件本身有写保护,需要先修改属性,然后改成定义形式,在cpp文件中去实现,保持代码的统一和查阅方便,将该虚函数重写就可以了。由于涉及到控制GPIO,本工程没有对LED灯做配置,所以要先找到LED的管脚并初始化。如LED1就是GPIOO的PIN1。
+ E# ?! v6 A( u: i. Y$ {       3.png ) [+ c$ E7 `7 ?( ?6 F. L0 ~2 i8 V1 A7 U3 ^
        然后编辑函数内容,读取当前LED引脚电平并反转,就可以实现按钮按下开,再按下关的循环操作了。& f8 y8 Z  C8 P1 @% t7 I- e- j
       6'.png
6 w- a! O' r8 v1 U' B      这款屏的分辨率比较好,看着界面干净清晰。TouchGFX倒是和Qt有点相似,继续体验。演示视频如下7 q9 R4 K' o5 J" }
       led.rar (5.54 MB, 下载次数: 3)
赞 收藏 评论0 发布时间:2024-7-21 01:36

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版