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

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

[复制链接]
BinWin 发布时间:2024-7-21 01:36
       上次已经发现了TouchGFX能够直接生成工程,且基础配置无需改动,那就摸索下如何把UI和硬件控制联系起来。* `$ _2 N$ ?% F
        首先屏幕上按键按下和抬起要有区别,选择不同的图标就能够实现,暂时使用自带图标资源。0 n. P6 ~% y0 E) b
         2.png
0 [+ t# O; z6 E2 w        6 O0 I0 ?$ B* s( b1 N% g) r6 V

  {/ _' [( u: Z/ x! }0 V* ?
+ _' \9 @" u& B. h7 M! q; z7 l        然后要给按键创建事件响应,在这里叫interaction。如下图,这里最好把名字改一下,方便自己在代码里一眼找出来。
* w+ J! F) N9 U( d  i( V9 W4 B% O
" o5 y$ b0 i) I' B" i         1.png
3 M6 a  W$ R. P1 `# O, Q. h5 Q        做完这些,就把界面上的工作搞完了,接下来生成新的工程,从程序里做功课。记得自己主界面的名字,因为下面我发现自己不好找了。比如默认是Screen1, 那在程序里的父窗口类就是ScreenViewBase,这个cpp文件在generate目录下,同时在软件界面勾选了要执行虚函数,且给命名为function_led。那么此时在cubeIDE里就能看到具体所在了,在头文件中是个公有成员函数。$ d9 r: n; X0 P; o
       5.png 4 P7 ]( R% \6 v4 X3 ]
        文件本身有写保护,需要先修改属性,然后改成定义形式,在cpp文件中去实现,保持代码的统一和查阅方便,将该虚函数重写就可以了。由于涉及到控制GPIO,本工程没有对LED灯做配置,所以要先找到LED的管脚并初始化。如LED1就是GPIOO的PIN1。& A4 j1 |7 L( H- Q8 D4 p
       3.png ( [6 n7 [! k2 W3 b) }" ?. }8 ?2 G- n, g
        然后编辑函数内容,读取当前LED引脚电平并反转,就可以实现按钮按下开,再按下关的循环操作了。
5 c! i% L" V+ v* H' _9 Q  f- ~" m       6'.png
* h& t1 ~! @6 ]+ ^- r) P      这款屏的分辨率比较好,看着界面干净清晰。TouchGFX倒是和Qt有点相似,继续体验。演示视频如下# m, e' s" c/ T1 c
       led.rar (5.54 MB, 下载次数: 1)
收藏 评论0 发布时间:2024-7-21 01:36

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版