(保姆级教程)手把手教你移植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. 新建工程如下图所示:
    在这里插入图片描述

相应配置如下:
在这里插入图片描述

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

此处取消勾选可以自己选择文件保存路径。
3. 工程新建完成后,目录结构如下:
在这里插入图片描述

将解压后的库文件放置在 lib目录下,如下图所示。
在这里插入图片描述

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

  1. .了解自己买的屏幕尺寸,驱动ic是什么,一般屏幕上都会写出来。
    我的屏幕驱动IC为ST7735,显示尺寸为128*160。
    之后修改对应的库。
  2. 找到TFT_ESPI库,修改如下内容:
    选择启动文件,对应文件为
    在这里插入图片描述

选择自己的屏幕驱动文件。
在这里插入图片描述

选择屏幕尺寸。
在这里插入图片描述

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

开背光
在这里插入图片描述

设置与ESP32连接的引脚。至此屏幕驱动已经改好,可以测试屏幕是否显示,显示是否正常,如有偏差则在做修改。
下面我将用例程演示一下显示效果,如下:
在这里插入图片描述

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

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

lv_conf.h


在这里插入图片描述

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

#if 0改为#if 1
LV_TICK_CUSTOM 1

打开工程找到lvgl库里面的arduino例程:
在这里插入图片描述

将里面的代码复制到MAIN.c函数中去。编译会有报错。
大家根据错误提示进行修改,屏蔽函数。
我这个屏幕不支持触摸,因此需禁用触摸
在这里插入图片描述

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

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

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

显示效果如下:
在这里插入图片描述

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

#include "demos/lv_demos.h"

在这里插入图片描述找到音乐播放器的代码,编译,会报错,这里根据报错进行修改,
主要为以下几个问题:
首先找到lv_conf.h文件
在这里插入图片描述将用到的字体使能。
在这里插入图片描述
在使能音乐播放器,使能播放模式,不能全部使能会撑爆FLASH。
显示效果如下:

请添加图片描述
实际效果如下:
请添加图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值