898|14

141

帖子

4

TA的资源

一粒金砂(中级)

【DigiKey“智造万物,快乐不停”创意大赛】STM32H7B3的LVGL初体验 [复制链接]

 
STM32H7B3的LVGL初体验
因为使用的开发板是STM32H7B3的主控,并配备了一块4.3寸,480*272分辨率的LCD屏幕,加上项目是要进行天气时钟站的开发,因此UI界面的开发便逃不开了。虽然自己也没什么界面美工细胞,做不来很漂亮的界面,但这次就先把界面的基本功能先打好基础。因为也是第一次用,也第一次做UI类的东西,因此一开始也比较期待能成功。
先看一段用STM32H7B3做的Benchmark的测试视频

 
H7B3是一颗非常强劲的主控,其存储和外设资源及其适合及逆行图形开发,连LVGL官方的DEMO也已经先对这块板子做了支持。也就是下图的所谓官方认证开发板。
084525g81gk1ku4y8ubbuj.png
084525rlobxxw82u8sbwmt.png
因此,先将LVGL官方的代码拉下来
链接已隐藏,如需查看请登录或者注册
可以看到这个其实是一个完整的功能,包含了STM32H7芯片的底层驱动,以及lvgl相关的全部代码。
084525noypr1pa8zscsydv.png
工程是使用ST官方的IDE工具CubeIDE进行开发的,因此需要事先安装该软件。在从github下载下来之后,就将其导入CubeIDE中。
084525lxwh0ux44rgmh6kw.png
084525r00xx077xbxvv686.png
要注意此处最好选择拷贝一份代码到workspace中,以便备份原始代码。
084525g6uxlxxp0lz0l587.png
导入成功之后可看到如下代码结构。
084525w966oc66mqsmoeca.png
084525f9hkut7hxkwzxhwx.png
编译如下
084525h262f5xiyr0m725q.png
还能看到具体的代码的资源使用信息
084525mimuz14t3z77fr7i.png
如果是手动下载代码包的方式,仓库的引用lvgl仓库是不会一起下载。
084525byy80mm9h8ssmskt.png
因此该文件夹为空
084525uch1z29xfot2hofq.png
需要到lvgl的仓库中单独在下载,并解压到上述文件夹中。
084525djzoizkvjfz170ej.png
点击run按钮
084525ojfi1fv9x9z5ifv0.png
下载过程log如下
084525fkt1vkfhfikhflti.png
正常运行即可看到如下UI示例界面。在界面的左下角可以看到存储资源使用情况,在右下角则可以看到刷新帧率以及CPU使用率情况。
084525fmr976w657nzhol5.png
084525kc80n4g8cj55yepc.png
084525wbqo9zwfmv1fqehf.png
还支持了输入法,简直方便极了
084525laav477fyu0k44u8.png
下面还可以跑一下benchmark,将main函数中的lv_demo_benchmark功能打开
084525j0qftr4ecfcd0nrn.png
同时需要注意lv_conf.h文件中这个定义需要为1,即打开该功能
084525et99mztk3eq011a1.png
编译下载运行
084525k4dezzfe3ws36es4.png
084525ga1b58z1u1a5wmuo.png
084525mm55aofp50rlhmhq.png
084525bhi3bc8v3kzs073h.png
084525yl7q88k4l7ltdylz.png
最后就是跑分结果了
084525hdpd1bbb4m5a61nh.png
具体情况还可以看视频。
接下来可以自己再做一段简单的显示功能了,这里就写了一个简单的label显示,如下代码
084525b4fby3zrnffx7b23.png
显示效果如下(实际会滚动显示)
084525yeo4ywvsmtzwfh7d.png
如果要测试其它的DEMO功能,需要将对应的宏定义更改,再行编译下载运行。
084525nivcvv85w00tzqmt.png
最后我们再尝试一下SquareLine Studio,这是LVGL官方推荐的UI设计平台,可以便捷地设计界面并一键生成代码导出。导出的代码在模拟器和嵌入式设备上都适用。目前支持的LVGL版本为8.2和8.3。对个人而言,注册即可免费使用。
软件可以从如下链接主页下载
084525zyqyngfqx5eenaeq.png
安装完之后,可以根据例程新建功臣
084525olyy16s31myckvuf.png
这里就直接新建Create一个新的工程,其中右下侧选择正确的屏幕配置
084525pf28uuwoo0u299ug.png
放置了几个label以及两个按钮
084525h98e4p44744w3rwm.png
其中的两个按钮功能上,实现更新其中的一个label的内容,如下
084525s7hc7wicq3wg3fig.png
084525fyxe2yy9xyy437y2.png
使用如下的Export->Export UI Files操作生成代码。代码可以存放在另外的路径,也可以直接生成存放在前面的工程中。
084525gsinyn0ze0rai0rw.png
084525zl3rleylhw3rhjih.png
084525fv5hxxmgnjhxhh8j.png
Refresh工程即可看到添加的文件夹了
084525afaa6e3gtkt3g638.png
接下来还得配置一下工程的路径等
084525knm1mb1bnj1iljym.png
084525kkkr924kd55zrd38.png
084525tya2greatqtrz2t4.png
增加头文件,并在main函数中调用初始化函数
084525dclrlfrhfzjqc5s0.png
084525cgzgzl66u4c6f68a.png
编译下载运行
084525u204kl8gsek20epk.png
084525j1buybxa9kdaxhkm.png
084525lo0gwzcg4zwswbze.png
点击左侧按钮
084525u685y6vnca8h5nhz.png
点击右侧按钮
084525bzhhonhxzi4ngo6k.png
总结:这是第一次使用高性能的单片机,也是第一次进行ui的开发尝试,以前总觉得ui设计特别麻烦,这次体验下来,其实基础的工具已经做得非常好了,包括界面的设计,代码的生成导出,以及应用的开发,都非常方便了。当然,最终还是得靠产品的整体设计,去做出更好更有吸引力的东西。

最新回复

我买的U585开发板,传感器是多,就是没有屏,不好玩。   详情 回复 发表于 2023-12-18 12:37

回复
举报

6763

帖子

9

TA的资源

版主

哇,好强大的开发板,与强大的设计神器,期待大佬能出更加优秀的作品!

点评

不太会搞界面,也是第一次弄,学习中……大佬多指点  详情 回复 发表于 2023-12-12 09:47

回复

141

帖子

4

TA的资源

一粒金砂(中级)

lugl4313820 发表于 2023-12-12 09:29 哇,好强大的开发板,与强大的设计神器,期待大佬能出更加优秀的作品!

不太会搞界面,也是第一次弄,学习中……大佬多指点


回复

58

帖子

0

TA的资源

一粒金砂(中级)

显示的帧率只有33

点评

是的,代码里面的宏定义把这个配置成了30,有没有啥需要改进或者问题请多多提点 #define LV_DISP_DEF_REFR_PERIOD 30  详情 回复 发表于 2023-12-13 08:53

回复

141

帖子

4

TA的资源

一粒金砂(中级)

trucy 发表于 2023-12-13 08:24 显示的帧率只有33

是的,代码里面的宏定义把这个配置成了30,有没有啥需要改进或者问题请多多提点

#define LV_DISP_DEF_REFR_PERIOD 30

点评

一般目前显示屏使用都设置在50-60的区间,不知道H7B3能支持到多少  详情 回复 发表于 2023-12-14 09:19

回复

58

帖子

0

TA的资源

一粒金砂(中级)

Tristan_C 发表于 2023-12-13 08:53 是的,代码里面的宏定义把这个配置成了30,有没有啥需要改进或者问题请多多提点 #define LV_DISP_DEF_ ...

一般目前显示屏使用都设置在50-60的区间,不知道H7B3能支持到多少

点评

好的,我回头再研究研究,第一次学习ui类,多谢指教  详情 回复 发表于 2023-12-14 09:29

回复

141

帖子

4

TA的资源

一粒金砂(中级)

trucy 发表于 2023-12-14 09:19 一般目前显示屏使用都设置在50-60的区间,不知道H7B3能支持到多少

好的,我回头再研究研究,第一次学习ui类,多谢指教


回复

19

帖子

2

TA的资源

一粒金砂(中级)

看到屏幕能亮起来会很兴奋开心哈哈,博主加油呀,期待后续作品

点评

哈哈,是的,阶段性成果,比较有成就感收获感  详情 回复 发表于 2023-12-15 08:44

回复

141

帖子

4

TA的资源

一粒金砂(中级)

SeasonMay 发表于 2023-12-14 21:55 看到屏幕能亮起来会很兴奋开心哈哈,博主加油呀,期待后续作品

哈哈,是的,阶段性成果,比较有成就感收获感


回复

239

帖子

3

TA的资源

纯净的硅(初级)

这板子的显示效果不错。

要是能够跑一个界面更丰富的案例,就更好了!

点评

好的乔帮主。第一次做gui类的东西,还在学习中,趁着这次活动研究研究   详情 回复 发表于 2023-12-17 09:40

回复

141

帖子

4

TA的资源

一粒金砂(中级)

HonestQiao 发表于 2023-12-16 21:23 这板子的显示效果不错。 要是能够跑一个界面更丰富的案例,就更好了!

好的乔帮主。第一次做gui类的东西,还在学习中,趁着这次活动研究研究 


回复

6763

帖子

9

TA的资源

版主

这个展是多少寸的呀,感觉这开发板是不是自己还要加点钱才能买到吧。

点评

是的,太喜欢了,自己添了一点点,超出600预算了。是一块4.3寸的屏  详情 回复 发表于 2023-12-18 12:01

回复

141

帖子

4

TA的资源

一粒金砂(中级)

lugl4313820 发表于 2023-12-18 07:36 这个展是多少寸的呀,感觉这开发板是不是自己还要加点钱才能买到吧。

是的,太喜欢了,自己添了一点点,超出600预算了。是一块4.3寸的屏

点评

我买的U585开发板,传感器是多,就是没有屏,不好玩。  详情 回复 发表于 2023-12-18 12:37

回复

6763

帖子

9

TA的资源

版主

Tristan_C 发表于 2023-12-18 12:01 是的,太喜欢了,自己添了一点点,超出600预算了。是一块4.3寸的屏

我买的U585开发板,传感器是多,就是没有屏,不好玩。

点评

自己加一块玩玩呢……  详情 回复 发表于 2023-12-18 13:07

回复

141

帖子

4

TA的资源

一粒金砂(中级)

lugl4313820 发表于 2023-12-18 12:37 我买的U585开发板,传感器是多,就是没有屏,不好玩。

自己加一块玩玩呢……


回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表