在使用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);
}
-
GUI
+關注
關注
3文章
662瀏覽量
39761 -
RT-Thread
+關注
關注
31文章
1294瀏覽量
40233 -
HAL庫
+關注
關注
1文章
121瀏覽量
6326 -
LVGL
+關注
關注
1文章
87瀏覽量
2998
發布評論請先 登錄
相關推薦
評論