关于ESP32开发心得 LVGL篇(一)

ESP32开发记录 LVGL篇(1)

概要

此篇文章是关于LVGL在esp32平台上的移植开发流程

工程版本信息

  • 开发芯片模组:Esp32S3
  • 开发平台: VScode + ESP-IDF
  • LVGL版本:v8.3

LVGL移植流程

1.获取官方库

首先我们先从以下网址获取lvgl官方库 https://gitee.com/my_lvgl/lvgl
请添加图片描述我这边使用的v8.3版本

2.开始移植工作

针对我们移植所需 只要LVGL库的以下几个文件就可以了
1.demos文件
2.examples文件(只需要包含porting文件)
3.src文件

请添加图片描述

请添加图片描述

3.调整接口函数

1.对于LVGL的使用,我们主要是应用一下几个接口函数,
lv_init();
是关于lvgl库相关功能的一些初始化工作,这边我们不详细赘述

lv_port_disp_init();
是显示部分所需要用到的函数,
针对缓存 各位可以按照自己使用cpu的资源情况来调整针对缓存机制 各位可以按照自己使用cpu的资源情况来调整,第一种配置方式可能会出现刷新比较慢的情况,第二种情况属于双缓冲区刷新机制,前提是RAM资源充足,第三种刷新机制也是双缓冲,比对第二种它属于整屏刷新,占用资源量甚于前者

在这里插入图片描述
接下来是对于刷屏函数的填充以及屏幕大小参数的完善配置

lv_port_indev_init();
是触控部分所需要的函数,在此函数中我们只需要关注两个功能,就是判断是否触摸屏幕 以及 获取触摸点的x坐标以及y坐标信息。
在这里插入图片描述

最后就是提供lvgl的心跳以及实时处理函数

在这里插入图片描述
在esp32平台,我们按照上图方式配置好软件定时器进行定时任务执行,我配置的是5ms进行一次心跳数的自增lv_tick_inc(5)
切记 不能忘记定时调用 lv_timer_handler()这个函数,否则你的界面不会进行刷新

小结

此篇只是对于移植LVGL流程进行的一些简单教学,关于详细的移植内容以及出现的问题我们下篇继续说说
后续我会详细描述LVGL的一些使用方面的经历,以及自己在移植LVGL过程中遇到的一些问题和需要注意的细节部分,希望这篇多多少少能帮助到读者,共勉。

### 回答1: ESP32 移植 LVGL 需要使用 ESP-IDF 的支持,它提供了 ESP32 平台基本功能的驱动程序和配置文件。你可以按照 ESP-IDF 的官方文档,使用 ESP-IDF 的平台支持进行 LVGL 移植。 ### 回答2: ESP32是一款强大的微控制器,支持运行各种应用程序。LVGL是一种开源的GUI库,可以轻松实现图形化界面。下面我将介绍如何在ESP32上移植LVGL。 首先,我们需要下载LVGL库的源代码。可以从官方网站或者GitHub上下载最新版本的LVGL库。 接下来,我们需要用到Arduino开发环境来编译和烧录代码。确保你已经安装了最新版本的Arduino开发环境,并且已经将ESP32开发板支持库安装。 然后,将LVGL源代码复制到你的Arduino项目文件夹中的一个子文件夹中。然后打开Arduino开发环境,找到你的项目文件夹并打开LVGL源代码文件夹。 在LVGL源代码文件夹中找到`lv_conf_template.h`文件,并将其复制为`lv_conf.h`文件。然后,打开`lv_conf.h`文件并根据你的需求进行配置。在配置文件中,你可以设置屏幕大小、颜色深度、字体等。 然后,在Arduino开发环境中打开ESP32的示例程序。找到一个空闲的示例程序,例如“Blink”示例程序,并将其复制为一个新的文件夹。 将LVGL源代码文件夹中的`lvgl`文件夹复制到ESP32示例程序文件夹中。 打开ESP32示例程序文件夹中的`platformio.ini`文件,并取消注释以下两行代码: ``` lib_ignore = ESP32_BLE_Arduino # lib_deps = ``` 然后,在`lib_deps =`后面添加以下代码: ``` ${env.LIBS_DIR}/lvgl ``` 保存并退出`platformio.ini`文件。 最后,编译和烧录ESP32示例程序。在Arduino开发环境中,选择正确的端口和开发板,并点击“编译并上传”按钮。完成后,你的ESP32就成功移植了LVGL,并可以使用LVGL库创建图形化界面了。 总之,移植LVGLESP32可以通过将LVGL源代码复制到你的项目文件夹中,配置LVGL并将其添加到ESP32示例程序中来实现。这样,你就可以在ESP32上轻松创建图形化界面了。 ### 回答3: ESP32是一款功能强大的微控制器,LVGL是一种用于嵌入式系统的开源图形库。要将LVGL移植到ESP32上,可以按照以下步骤进行操作: 1. 下载LVGL软件包:在LVGL官方网站上下载最新版本的LVGL软件包,并解压缩到ESP32开发环境的工作目录中。 2. 配置开发环境:打开ESP32开发环境(如ESP-IDF或Arduino IDE),创建新的项目或打开现有的项目。 3. 配置LVGL:在ESP32的项目文件中,找到并打开LVGL的配置文件(如lv_conf.h)。根据项目的需求,设置LVGL的配置选项,如分辨率、颜色深度、绘制驱动等。 4. 添加LVGL的源代码:将LVGL的源代码文件添加到ESP32项目的源文件目录中。可以复制整个LVGL文件夹,或者将相关文件手动复制到项目目录。 5. 添加驱动程序:根据项目的显示设备,选择并添加相关的驱动程序。LVGL支持多种显示设备和操作系统接口,如SPI、I2C、UART等。 6. 初始化LVGL:在ESP32的程序中,添加LVGL的初始化函数。该函数负责初始化LVGL图形库,并配置所需的驱动程序。 7. 编写应用程序:根据项目的需求,在ESP32的程序中编写LVGL应用程序。可以使用LVGL提供的各种图形元素和功能,如按钮、标签、文本框、进度条等。 8. 编译和烧录:将ESP32与计算机连接,并进行编译和烧录操作。确保所有的依赖文件和驱动程序都正确配置,并且LVGL的源代码能够正确编译。 9. 调试和优化:在ESP32上运行LVGL应用程序,并进行调试和优化。可以使用串口输出或者调试工具来查找和修复可能出现的问题。 10. 测试和部署:在完成调试和优化后,进行系统测试以及部署到实际项目中。 以上是将LVGL移植到ESP32的一般步骤,具体的细节和操作方式可能会因项目的需求和开发环境而有所不同。希望这些简要的说明可以帮助您成功地将LVGL移植到ESP32上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值