首先了解工程,在components\modules模块下有LVGL库,如下图所示。
![1_工程LVGL库.png 1_工程LVGL库.png](https://static.assets-stash.eet-china.com/forum/202502/11/173927693474482202854af0fh87if157vii5.png)
我们留意下在examples\evb_demo\lvgl_demo\Inc\lv_conf.h ,这里面有一些配置与使能宏,根据需要配置修改。
前面梳理代码看到在初始化蓝牙时也初始化了lvgl,如下:
![2_LVGL初始化.png 2_LVGL初始化.png](https://static.assets-stash.eet-china.com/forum/202502/11/173927756446277203924txw7q6w0xo3wtfwh.png)
app_lvgl_init里创建了gui_task任务,在进入任务前lvgl_init初始化,包含显示屏初始化与屏显控制按键配置及lv_prj_main主界面设计。
在evb_demo\lvgl_demo\Src\app_lvgl.h里配置了显示屏分辨率为482*272,如下:
![3_显示屏像素.png 3_显示屏像素.png](https://static.assets-stash.eet-china.com/forum/202502/11/173927805874739204738m7lf4acl2922zapl.png)
lvgl_init初始化里主要留意下my_disp_flush和my_touchpad_read实现。屏的初始化lv_init。
首页界面如下,关于LVGL界面编程,可以参考"LVGL应用编程说明书"文档,里面讲的还是比较详细的。
![4_主界面设计编程.png 4_主界面设计编程.png](https://static.assets-stash.eet-china.com/forum/202502/11/173927911561338210515neo58mdgd3mrnogj.png)
这里需要注意下的是图片、字体资源较大是放在片外的,官方提供了配套的烧录工具,可参考文档进行。
![5_LVGL片外资源.png 5_LVGL片外资源.png](https://static.assets-stash.eet-china.com/forum/202502/11/173927953538469211215khh5qjcfhfkc0czo.png)
至此,对开发板LVGL应用框架有了整体把握与理解。