在使用HMI-Board開發(fā)板開發(fā)lvgl的GUI界面設(shè)計(jì)時(shí),可以直接在官方提供的lvgl的demo中開發(fā),這樣就可以省去lvgl最初的繁瑣配置步驟,這里真的要感謝官方,將最繁瑣的一步幫我們省去了,可以更加專注于LVGL的開發(fā)。
但是在這個(gè)基礎(chǔ)上再添加新組件,編譯的時(shí)候就會(huì)報(bào)出一些錯(cuò)誤,如下圖所示。
報(bào)錯(cuò)信息的話我看像是缺少一些文件,但如何添加這些文件我是不清楚的,但我是用另一種方法解決這個(gè)問(wèn)題。下面直接說(shuō)怎么做。
1、首先,進(jìn)入RT-Thread Settings,將LVGL版本由latest更換為v8.3.1,并將LVGLdemo的使能關(guān)閉,最后將music的demo關(guān)閉,步驟如下圖順序所示。在Setting中找這些設(shè)置可以直接在右上角搜索lvgl,能夠快速確定這些設(shè)置的位置。
這樣組件配置就完成了,再添加其他組件就不會(huì)對(duì)工程造成影響了(其實(shí)并不是添加新組件導(dǎo)致bug,而是latest版lvgl的問(wèn)題,僅個(gè)人見解,如有錯(cuò)誤歡迎指正)。
2、然后將配置保存,再進(jìn)入hal_entry.c文件中,添加一個(gè)lv_user_gui_init函數(shù)。這個(gè)函數(shù)現(xiàn)在是空的,需要自己添加自己的界面設(shè)計(jì)函數(shù)進(jìn)去。
void lv_user_gui_init(void)
{
}
這個(gè)函數(shù)是GUI界面設(shè)計(jì)的入口函數(shù),在rt-thread中,GUi的設(shè)計(jì)從這里開始。
3、編譯,編譯結(jié)果如下圖所示。
三個(gè)警告不用管它。
以上就是我針對(duì)HMI-Board開發(fā)板工程在添加新組件時(shí)LVGL組件會(huì)報(bào)錯(cuò)的解決辦法。
下面的圖片是我簡(jiǎn)單繪制的一個(gè)按鈕示例。
注意,我將lv_user_gui_init函數(shù)放在hal_entry.c文件中,僅是做一個(gè)展示,建議新建一個(gè).c文件來(lái)存放lv_user_gui_init函數(shù)。這里提供一個(gè)樣例:
#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
+關(guān)注
關(guān)注
3文章
632瀏覽量
39440 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1249瀏覽量
39727 -
HAL庫(kù)
+關(guān)注
關(guān)注
1文章
114瀏覽量
6114 -
LVGL
+關(guān)注
關(guān)注
0文章
79瀏覽量
2818
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論