ESP32 LVG_L7最快移植攻略
ESP32 LVGL_V7 移植全攻略
系列文章地址:
此篇为LVGL_V7的移植,如需要LVGL_V8可参考上文。
软件环境
-
VSCODE-ESP32-IDF4.3 插件版 LVGL project for ESP32 LVGL V7 master分支
硬件环境
-
ESP32-D2WD 中景园0.96TFT,插接版
移植攻略
1. 从样例中创建一个项目
打开vscode,CTRL+SHIFT+P,在弹出的命令面板中选择 展示示例项目。 创建示意图 :
具体创建哪一个都可以,这里选择最简单的BLINK。 点击Create,选择项目文件夹,完成创建项目。
2. 下载LVGL project for ESP32
原项目地址:
这里介绍两种方法一个是使用Git,另一个则是直接下载。
先说直接下载,简单粗暴,可以下载原来官方的项目,当然也可以下载我移植好的。
-
使用我移植的 我移植好的项目 (推荐) ,使用gitee国内的码云平台,下载很快。 项目地址:
先把整个项目下载下来,点击下载zip压缩包。 下载后随便找个地方解压压缩包,取出其中的components的目录,复制到你的工程目录下即可。如图。
-
使用Git (下载方法可跳过这个步骤 请直接到配置步骤) LVGL现在支持Kconfig ,这对于使用ESP-IDF插件的来说是很友好的,直接点一点就可以直接配置。 首先: 创建一个名为components的目录。 在本文件夹下,注意不要进入到components。
右键git bashhere,进入到命令行。分别使用命令 git submodule add https://github.com/lvgl/lvgl.git components/lvgl
git submodule add https://github.com/lvgl/lvgl_esp32_drivers.git components/lvgl_esp32_drivers
中间可能会报错如图: 这就是网络问题,懂得的都懂。 多多尝试几次: 如图就应该成功了。
3.配置LVGL
你的components里面应该有两个文件夹。如图: 用vscode打开项目文件夹,点击·插件的配置选项,可以看到lvgl已经加入了配置项目中。(如果没有请重新用VScode打开项目文件夹)。根据你的屏幕信息修改驱动,这里我用的是ST7735S的驱动, 下面是一些spi速率、工作模式的设定,spi速率建议设定40mhz,现阶段不管你用的是ST7789v的屏幕还是ST7735S,最大的支持速率62MHZ,所以不可能80mhz,这就是事实哈,我已经实验过很多次了,只有某些批次的中景园屏幕可以到80mhz,看运气。 引脚设定: 更改好之后还需要进行一些修改。 不知道是官方bug还是什么,在lvgl_helpers.h的文件里少了两个宏定义,需要自己添加这两个宏就是你屏幕显示的长和宽。 如图: 修改到这一步你应该完成了项目配置,接下来就要进行初始化。
4.LVGL初始化
初始化很简单,我为大家写好了初始化代码,就在我的项目的main文件夹里面。 直接将代码放入main文件夹即可。 如图: 代码地址:
将代码放入后应在主函数中将头文件添加进来,如下图。 并添加一个创建初始化任务的代码,这里就是创建一个线程来运行lvgl的初始化项目。具体的信息都在"lvgl_init.h"里面定义。 主函数添加的代码:
xTaskCreatePinnedToCore(guiTask, "gui", 4096*2, NULL, 1, NULL, 1);
然后经过漫长的编译,烧录你就可以得到这个结果。 有可能你烧录后屏幕没有亮起,这有两种情况,首先是你的引脚没有对应好,请返回上面配置好对的引脚。 第二种就是spi的模式不对,这个在可以在如图文件里修改 在文件的175行左右有可以更改的,修改即可。
