(保姆级教程)手把手教你移植lvgl到esp32_arduino

**

LVGL -----Esp32_arduino移植教程

**
**LVGL官方移植教程:`(复制打开)

Arduino — LVGL_Chinese_Documents 文档 (lvgl-chinese-doc.readthedocs.io)

第一步:下载LVGL最新版本的库

https://github.com/lvgl/lvgl/archive/refs/heads/master.zip

第二步:下载显示屏驱动库:

GitHub - Bodmer/TFT_eSPI:Arduino 和 PlatformIO IDE 兼容的 TFT 库针对 Raspberry Pi Pico (RP2040)、STM32、ESP8266 和 ESP32 进行了优化,支持不同的驱动程序芯片

第三步:解压缩两个库并安装到arduino库路径下:

以下以开发环境paltformio模拟arduino环境为例:

  1. 在VScode中安装paltformio插件,添加ESP32环境:(不会的请百度)
  2. 新建工程如下图所示:
    (保姆级教程)手把手教你移植lvgl到esp32_arduino_第1张图片

相应配置如下:
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第2张图片

注意: 在这里插入图片描述

此处取消勾选可以自己选择文件保存路径。
3. 工程新建完成后,目录结构如下:
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第3张图片

将解压后的库文件放置在 lib目录下,如下图所示。
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第4张图片

第四步 修改库文件里对应的参数:

  1. .了解自己买的屏幕尺寸,驱动ic是什么,一般屏幕上都会写出来。
    我的屏幕驱动IC为ST7735,显示尺寸为128*160。
    之后修改对应的库。
  2. 找到TFT_ESPI库,修改如下内容:
    选择启动文件,对应文件为
    (保姆级教程)手把手教你移植lvgl到esp32_arduino_第5张图片

选择自己的屏幕驱动文件。
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第6张图片

选择屏幕尺寸。
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第7张图片

选择启动文件,不同屏幕需要启动文件不一定相同,自行尝试。
在这里插入图片描述

开背光
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第8张图片

设置与ESP32连接的引脚。至此屏幕驱动已经改好,可以测试屏幕是否显示,显示是否正常,如有偏差则在做修改。
下面我将用例程演示一下显示效果,如下:
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第9张图片

显示效果完美,说明TFT程序已经移植完成。
3) 配置lvgl
a) 找到工程路径下的库文件,‘找到此文件
在这里插入图片描述

在此文件路径下复制粘贴一份修改文件名为“

lv_conf.h


在这里插入图片描述

打开此文件,修改以下两个个地方:

#if 0改为#if 1
LV_TICK_CUSTOM 1

打开工程找到lvgl库里面的arduino例程:
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第10张图片

将里面的代码复制到MAIN.c函数中去。编译会有报错。
大家根据错误提示进行修改,屏蔽函数。
我这个屏幕不支持触摸,因此需禁用触摸
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第11张图片

同理没粘出来的触摸函数也要一并注释。

需要使用触摸功能的只需将user_setup.h里的
在这里插入图片描述触摸片选脚打开,不然编译会报错。
在这里插入图片描述

这是修改屏幕大小的函数,因我的屏幕分辨率太小复杂的GUI显示不全,这里以最简单的代码来展示。代码如下::
在这里插入图片描述在这里插入图片描述

显示效果如下:
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第12张图片

至此,代码移植完毕。之后小伙伴们可以自行测试更多有趣好玩的gui界面啦。
当然如果要尝试官方提供的例程的话,还需要修改如下内容:
这里以官方提供的音乐播放器为例,
Mian.c里面需包含如下头文件:

#include "demos/lv_demos.h"

(保姆级教程)手把手教你移植lvgl到esp32_arduino_第13张图片找到音乐播放器的代码,编译,会报错,这里根据报错进行修改,
主要为以下几个问题:
首先找到lv_conf.h文件
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第14张图片将用到的字体使能。
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第15张图片
在使能音乐播放器,使能播放模式,不能全部使能会撑爆FLASH。
显示效果如下:

(保姆级教程)手把手教你移植lvgl到esp32_arduino_第16张图片
实际效果如下:
(保姆级教程)手把手教你移植lvgl到esp32_arduino_第17张图片

你可能感兴趣的:(ESP32,嵌入式,物联网)