电子说
在使用HMI-Board开发板开发lvgl的GUI界面设计时,可以直接在官方提供的lvgl的demo中开发,这样就可以省去lvgl最初的繁琐配置步骤,这里真的要感谢官方,将最繁琐的一步帮我们省去了,可以更加专注于LVGL的开发。
但是在这个基础上再添加新组件,编译的时候就会报出一些错误,如下图所示。
报错信息的话我看像是缺少一些文件,但如何添加这些文件我是不清楚的,但我是用另一种方法解决这个问题。下面直接说怎么做。
1、首先,进入RT-Thread Settings,将LVGL版本由latest更换为v8.3.1,并将LVGLdemo的使能关闭,最后将music的demo关闭,步骤如下图顺序所示。在Setting中找这些设置可以直接在右上角搜索lvgl,能够快速确定这些设置的位置。
这样组件配置就完成了,再添加其他组件就不会对工程造成影响了(其实并不是添加新组件导致bug,而是latest版lvgl的问题,仅个人见解,如有错误欢迎指正)。
2、然后将配置保存,再进入hal_entry.c文件中,添加一个lv_user_gui_init函数。这个函数现在是空的,需要自己添加自己的界面设计函数进去。
void lv_user_gui_init(void)
{
}
这个函数是GUI界面设计的入口函数,在rt-thread中,GUi的设计从这里开始。
3、编译,编译结果如下图所示。
三个警告不用管它。
以上就是我针对HMI-Board开发板工程在添加新组件时LVGL组件会报错的解决办法。
下面的图片是我简单绘制的一个按钮示例。
注意,我将lv_user_gui_init函数放在hal_entry.c文件中,仅是做一个展示,建议新建一个.c文件来存放lv_user_gui_init函数。这里提供一个样例:
#include "rtconfig.h"
#include "lvgl.h"
void lv_user_gui_init(void)
{
lv_obj_t *switch1;
switch1 = lv_switch_create(lv_scr_act());
lv_obj_set_size(switch1, 100, 50);
lv_obj_set_align(switch1, LV_ALIGN_CENTER);
}
全部0条评论
快来发表一下你的评论吧 !