[GUI] 【STM32H750B-DK评测】添加交互函数点亮LED

[复制链接]
2581|19
 楼主| jinyi7016 发表于 2022-8-22 13:20 | 显示全部楼层 |阅读模式
本帖最后由 jinyi7016 于 2022-8-26 10:00 编辑

@21小跑堂


GUI的最终目的是进行交互,所以,回我们最初的hello world的工程。添加几个用于交互的Button控件,当然其他的控件也是可以的,只是button比较好理解。

这里添加了三个不同类型的button控件,添加完成后进行布局,最后如下图所示:


clipboard.png


为Bnt1添加交互。
interaction1由上到下为:触发事件,触发源,动作(调用新的虚函数),函数名,关联触发。
触发事件,触发源,动作都有很多项可以选择,可自行在软件中进行查看。这里选择的是最简单的点击事件。

clipboard.png



使用CubeIDE打开工程,找到gui目录,
可以看到gui目录下有四个文件,其中的Model.cpp、Screen1View.cpp、Screen1Presenter.cpp,对应的是TouchGFX中的MVP架构。
clipboard.png


首先,刚刚添加的button的调用的虚函数在TouchGFX\generated\gui_generated\src\screen1_screen\Screen1ViewBase.cpp中被定义。
这个文件是Screen1View的基类。一般不进行手动修改,而且文件属性是只读的。
我们可以看到Screen1View继承自Screen1ViewBase,所以,我们只修改Screen1View类就可以了。
clipboard.png

所以,我们在子类Screen1View中实现调用的虚函数。
首先在Screen1View.hpp中添加bnt1Clicked函数的声明。

clipboard.png



再在Screen1View.cpp文件中,具体实现bnt1Clicked函数。

clipboard.png



再在presenter中实现btnClicked方法
clipboard.png

再在Model里实现LED的方法
这里使用LD6,也就是PI13引脚,默认生成的工程中,这个引脚并没有进行配置,配置这个引脚的功能。

clipboard.png




STM32CubeIDE中打开ico文件,配置GPIO引脚与功能。

clipboard.png


重新生成代码。
并在Model实现LED灯翻转的程序。
注意添加头文件main.h,这样才能调用hal库。



clipboard.png

程序下载后的运行效果:

28274a460f007227faf9f7564a8ce7a3.gif














onlycook 发表于 2022-8-22 15:48 来自手机 | 显示全部楼层
这种点亮方式挺有意思的
asmine 发表于 2022-8-23 20:15 | 显示全部楼层
这又是什么软件
rosemoore 发表于 2022-8-25 09:09 | 显示全部楼层
lvgl搞起来。   
deliahouse887 发表于 2022-8-25 10:05 | 显示全部楼层
这个h750发热量挺大的吧。   
robertesth 发表于 2022-8-25 10:45 | 显示全部楼层
gfx吗?      
Uriah 发表于 2022-9-30 11:14 | 显示全部楼层

在开始电镀之前,必须先清掉孔内的杂物。
Bblythe 发表于 2022-9-30 14:13 | 显示全部楼层

在孔璧内部作金属处理后,可以让内部的各层线路能够彼此连接。
Pulitzer 发表于 2022-9-30 17:12 | 显示全部楼层

孔璧里头必须经过电镀
Wordsworth 发表于 2022-12-25 07:12 | 显示全部楼层

做多层板可将做好的两块双面板用特制的粘合剂“压合”起来
Clyde011 发表于 2022-12-25 08:15 | 显示全部楼层

清除与电镀动作都会在化学过程中完成
万图 发表于 2022-12-25 10:11 | 显示全部楼层

将整个表面铺上一层薄薄的铜箔,并且把多余的部份给消除
Uriah 发表于 2022-12-25 11:14 | 显示全部楼层

在开始电镀之前,必须先清掉孔内的杂物。
帛灿灿 发表于 2022-12-25 13:10 | 显示全部楼层

负片转印(Subtractive transfer)的方式将设计好的PCB线路板的线路底片“印刷”在金属导体上。
Bblythe 发表于 2022-12-25 14:13 | 显示全部楼层

在孔璧内部作金属处理后,可以让内部的各层线路能够彼此连接。
周半梅 发表于 2022-12-25 16:09 | 显示全部楼层

光绘出零件间联机的PCB设计布线
Pulitzer 发表于 2022-12-25 17:12 | 显示全部楼层

孔璧里头必须经过电镀
周半梅 发表于 2022-12-25 18:15 | 显示全部楼层

需要将阻焊漆(阻焊油墨)覆盖在最外层的PCB设计布线上
童雨竹 发表于 2022-12-25 19:08 | 显示全部楼层

PCB的制造过程由玻璃环氧树脂(Glass Epoxy)或类似材质制成的PCB“基板”开始
qbwww 发表于 2023-6-30 12:58 | 显示全部楼层
GUI的最终目的是进行交互,所以,回我们最初的hello world的工程。添加几个用于交互的Button控件,当然其他的控件也是可以的,只是button比较好理解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

1414

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部