ESP32基础应用之移植LVGL(ESP-IDF-V4.2 )

1 实验目的

写在前面:本章内容写的是在ESP-IDF 4.2版本上移植LVGL 7.9版本,而且该工程已经很久没有更新维护了,且随着ESP-IDF和LVGL版本还在不断的更新,ESP-IDF已经内嵌了LVGL,所以需要学习或应用ESP32 LVGL,不推荐参考该文章。
本实验为使用ESP32实现LVGL(轻量级的嵌入式图形库),主要参考LVGL官方为ESP32所做的适配工程,资源在GitHub上的lv_port_esp32并记录适配过程的采坑点
在这里插入图片描述

1.1 参考文章

  1. ESP32+st7789/ili9341运行LVGL例程,依赖ESP-IDF编译lv_port_esp32官方Demo(1)
  2. esp32-lvgl-(st7789/ILI9341)(基于esp-idf框架)
  3. LVGL project for ESP32

2 实验工具

  1. ESP32开发板是ESP32-DevKitC V4
  2. LCD是3.2inch SPI Module ILI9341
  3. ESP-IDF版本为4.2
  4. LVGL版本为7.9

3 准备工作

本实验是参考

3.1 搭建ESP32开发环境

  1. 根据lv_port_esp32工程说明, ESP-IDF版本要求为4.2。
    在这里插入图片描述
  2. 电源问题,直接只用ESP32-DevKitC V4开发板接LCD有可能无法驱动,需要外接电源。

3.2 克隆lv_port_esp32工程

该步骤问题最多

  1. 使用指令
    git clone --recurse-submodules https://github.com/lvgl/lv_port_esp32.git
    或直接下载程序包都会出现 components 文件夹下的子文件夹内容缺失,导致无法正常使用。这里推荐在Gitee平台搜索lv_port_esp32工程,在Gitee平台克隆,或者components文件夹下的各个子工程单独克隆。

4 配置lv_port_esp32工程

  1. 将lv_port_esp32工程放置在esp-idf目录下
    在这里插入图片描述

  2. ESP32-DevKitC V4开发板引脚图
    在这里插入图片描述

  3. 使用idf.py menuconfig命令打开配置菜单
    在这里插入图片描述

  4. 配置LCD显示驱动引脚。注意LCD的显示驱动 SPI 引脚连接ESP32的VSPI,引脚序号参考上文 ESP32-DevKitC V4开发板引脚图 ,在配置菜单(idf.py menuconfig)钟配置引脚为对应为VSPI的引脚 。
    在这里插入图片描述

  5. 配置LCD触摸驱动引脚,注意LCD的触摸驱动 SPI 引脚连接ESP32的HSPI,引脚序号参考上文 ESP32-DevKitC V4开发板引脚图 ,在配置菜单(idf.py menuconfig)钟配置引脚为对应为HSPI的引脚 。
    在这里插入图片描述在这里插入图片描述

  6. LCD屏幕尺寸配置和其余配置
    在这里插入图片描述

5 实验验证

最后编译并烧录程序
在这里插入图片描述

6 使用过程遇到的问题

6.1 触摸功能点击屏幕位置不对

  1. 在测试lv_demo_keypad_encoder();示例时,屏幕响应不对,例如,点击右下角,但是左上角的按键显示被按下。如下图,取消三个选项,再编译烧录则正常了
    在这里插入图片描述
  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值