Gui-Guider导出代码到esp32工程
·
在移植好lvgl框架,能正常显示和触摸后,使用Gui-Guider软件绘制ui界面,需要把其生成的代码导入esp32工程。
步骤一
在main目录下创建ui子目录,并把生成的代码放在该目录下。
guider-gui生成代码,点击工程,选择rt-thread,然后选择main目录下的ui子目录文件夹进行导出。

结果目录:

步骤二
修改main目录下的CMakeLists.txt,把ui下的文件加入编译路径。
# 使用GLOB_RECURSE命令获取ui目录下的所有.c文件,并将其存储在变量ui_srcs中
file(GLOB_RECURSE ui_srcs
./ui/custom/*.c
./ui/generated/*.c
./ui/generated/guider_customer_fonts/*.c
./ui/generated/guider_fonts/*.c
./ui/generated/images/*.c )
# 使用list命令将ui目录及其子目录添加到include_ui_dirs列表中,以便在编译时包含这些目录
list(APPEND include_ui_dirs
ui/generated
ui/custom
ui/generated/guider_customer_fonts
ui/generated/guider_fonts
ui/generated/images
ui
)
# 使用idf_component_register命令注册组件,指定源文件和包含目录
idf_component_register(
SRCS
"station_example_main.c" # 主程序源文件
"mqtt_cjson.c" # MQTT和cJSON相关的源文件
"i2c_master/i2c.c" # I2C主控相关的源文件
"i2c_GXHTC3/i2c_gxhtc3.c" # I2C GXHTC3传感器相关的源文件
"spi_master/spi.c" # SPI主控相关的源文件
"esp_spi_lcd/esp_spi_lcd.c" # ESP SPI LCD相关的源文件
"esp_lvgl_port_init/esp_lvgl_port_init.c" # ESP LVGL初始化相关的源文件
${ui_srcs} # 包含所有ui目录下的.c文件
INCLUDE_DIRS
. # 当前目录
i2c_master # I2C主控相关的头文件目录
i2c_GXHTC3 # I2C GXHTC3传感器相关的头文件目录
spi_master # SPI主控相关的头文件目录
esp_spi_lcd # ESP SPI LCD相关的头文件目录
esp_lvgl_port_init # ESP LVGL初始化相关的头文件目录
${include_ui_dirs} # 包含所有ui目录及其子目录
)
步骤三
调用生成的ui代码。在main.c中添加代码;
#include "gui_guider.h"
#include "custom.h"
lv_ui guider_ui;
void app_main(void)
{
//lvgl初始化代码
//调用生成的ui代码
setup_ui(&guider_ui);
}
参考文章
更多推荐



所有评论(0)