当前位置: 首页 > news >正文

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 *.cui/custom/*.cui/generated/*.cui/generated/guider_customer_fonts/*.cui/generated/guider_fonts/*.cui/generated/images/*.c)set(include_dirs . ui/custom ui/generated ui/generated/guider_customer_fontsui/generated/guider_fontsui/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");
}

相关文章:

  • openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引
  • Python面向对象练习
  • php轻量级性能分析工具 xhprof
  • 场景实践 | 法大大落地业财一体化,优化流程结构
  • SpringBoot之整合JWT
  • 深度学习机器视觉车道线识别与检测 -自动驾驶 计算机竞赛
  • Vue框架学习笔记——列表渲染:v-for
  • canvas绘制小丑
  • 【Vue】使用 Vue CLI 脚手架创建 Vue 项目(使用命令行创建)
  • LeetCode | 104. 二叉树的最大深度
  • Java变量与常量:深入理解基础概念
  • spring mvc理解
  • 【Java 基础】19 多线程基础
  • 配置multipath.conf后linux主机重启异常处理
  • Shell数组函数:数组(一)
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 2017-08-04 前端日报
  • 4. 路由到控制器 - Laravel从零开始教程
  • 78. Subsets
  • Android Studio:GIT提交项目到远程仓库
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • eclipse(luna)创建web工程
  • Linux各目录及每个目录的详细介绍
  • Python_网络编程
  • tweak 支持第三方库
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前端技术周刊 2019-02-11 Serverless
  • 如何进阶一名有竞争力的程序员?
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 使用权重正则化较少模型过拟合
  • 思维导图—你不知道的JavaScript中卷
  • 在Unity中实现一个简单的消息管理器
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 终端用户监控:真实用户监控还是模拟监控?
  • HanLP分词命名实体提取详解
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 回归生活:清理微信公众号
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #### go map 底层结构 ####
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (1)(1.13) SiK无线电高级配置(五)
  • (13)Hive调优——动态分区导致的小文件问题
  • (6)添加vue-cookie
  • (二)fiber的基本认识
  • (翻译)terry crowley: 写给程序员
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)mysql使用Navicat 导出和导入数据库