ESP32 LVGL Gui-Guider的移植

使用参考:

ESP32系列之LVGL(三):Gui-Guider的使用_esp32 lvgl-CSDN博客

1、拷贝文件:

按照上面的文章,使用Gui-Guider软件生成C代码之后,custom和generated是我们要使用到的文件, 其中custom是用来存放gui工程中我们自定义的一些代码,实际上如果没有自定义代码的话也可以不用,generated则是Gui-Guider工程生成的C代码,我们主要将这部分导入到我们的esp32s3工程中。

到esp32的工程main目录下(已经移植好LVGL的工程),创建一个ui文件夹,将custom和generated放入此文件夹内。ui文件夹可以选择放到工程里的components文件夹内成为一个组件,也可以直接放到main文件夹下。这里选择直接放到main文件夹下,工程结构如下:

修改main文件夹下的CMakeLists.txt:

原来的CMakeLists.txt文件如下:

idf_component_register(
    SRC_DIRS .
    INCLUDE_DIRS .
)

修改之后的CMakeLists.txt文件如下:

file(GLOB_RECURSE srcs *.c
                    ui/custom/*.c
                    ui/generated/*.c
                    ui/generated/guider_customer_fonts/*.c
                    ui/generated/guider_fonts/*.c
                    ui/generated/images/*.c
                    )
 
set(include_dirs 
    . 
    ui/custom 
    ui/generated 
    ui/generated/guider_customer_fonts
    ui/generated/guider_fonts
    ui/generated/images
    )

idf_component_register(
    SRC_DIRS .
    SRCS ${srcs}
    INCLUDE_DIRS ${include_dirs}
)

这块很重要,设置正确才能编译通过。

修改main.c:

 主要修改对文件的引用,定义lv_ui guider_ui变量,调用ui入口setup_ui()即可。

添加h文件

#include "gui_guider.h"
#include "custom.h"

定义全局ui变量

 
lv_ui guider_ui;

添加运行代码

setup_ui(&guider_ui);

整体如下:

#include <stdio.h>
#include "string.h"
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "qmsd_board.h"
#include "qmsd_utils.h"
#include "lvgl.h"

 
#include "gui_guider.h"
#include "custom.h"
 
lv_ui guider_ui;

#define TAG "QMSD-MAIN"

void gui_user_init() {

    setup_ui(&guider_ui);
}

void app_main(void) {
    gpio_install_isr_service(ESP_INTR_FLAG_SHARED);
    qmsd_board_config_t config = QMSD_BOARD_DEFAULT_CONFIG;
    qmsd_board_init(&config);
    printf("Fine qmsd!\r\n");
}

相关推荐

  1. ESP32和STM32区别

    2023-12-07 20:26:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 20:26:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 20:26:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 20:26:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 20:26:02       18 阅读

热门阅读

  1. 9月6日,星期三,每日早报简报微语报早读分享

    2023-12-07 20:26:02       34 阅读
  2. Flink入门之部署(二)

    2023-12-07 20:26:02       48 阅读
  3. DevOps|研发提效-敏捷开发之每日站立会

    2023-12-07 20:26:02       38 阅读
  4. 2023.11.27 滴滴P0级故障或为k8s升级造成

    2023-12-07 20:26:02       44 阅读
  5. 算法leetcode|91. 解码方法(rust重拳出击)

    2023-12-07 20:26:02       45 阅读
  6. 万界星空科技开源MES系统的基本功能

    2023-12-07 20:26:02       38 阅读
  7. Spring 高级装配详解

    2023-12-07 20:26:02       33 阅读
  8. 前端需要掌握的技术有哪些方面

    2023-12-07 20:26:02       44 阅读