文章目录
- 1 实验目的
- 1.1 参考文章
- 2 实验工具
- 3 准备工作
- 3.1 搭建ESP32开发环境
- 3.2 克隆lv_port_esp32工程
- 4 配置lv_port_esp32工程
- 5 实验验证
- 6 使用过程遇到的问题
- 6.1 触摸功能点击屏幕位置不对
1 实验目的
本实验为使用ESP32实现LVGL(轻量级的嵌入式图形库),主要参考LVGL官方为ESP32所做的适配工程并在GitHub发布的lv_port_esp32,并记录适配过程的采坑点。
1.1 参考文章
- ESP32+st7789/ili9341运行LVGL例程,依赖ESP-IDF编译lv_port_esp32官方Demo(1)
- esp32-lvgl-(st7789/ILI9341)(基于esp-idf框架)
- LVGL project for ESP32
2 实验工具
- ESP32开发板是ESP32-DevKitC V4
- LCD是3.2inch SPI Module ILI9341
3 准备工作
本实验是参考
3.1 搭建ESP32开发环境
- 根据lv_port_esp32工程说明, ESP-IDF版本要求为4.2。
- 电源问题,直接只用ESP32-DevKitC V4开发板接LCD有可能无法驱动,需要外接电源。
3.2 克隆lv_port_esp32工程
该步骤问题最多
- 直接使用git clone https://github.com/lvgl/lv_port_esp32.git克隆或使用官方方法git clone --recurse-submodules https://github.com/lvgl/lv_port_esp32.git 或直接下载程序包都会出现components文件夹下的子文件夹内容缺失,导致无法正常使用。这里推荐在Gitee平台搜索lv_port_esp32工程,在该平台克隆,或者components文件夹下的各个子工程单独克隆。
4 配置lv_port_esp32工程
-
将lv_port_esp32工程放置在esp-idf目录下
-
ESP32-DevKitC V4开发板引脚图
-
使用
idf.py menuconfig
命令打开配置菜单
-
配置LCD显示驱动引脚,注意在第2点截图中TFT SPI Bus是VSPI,则配置引脚需要对应为VSPI的引脚
-
配置LCD触摸引脚,
-
LCD屏幕尺寸配置和其余配置
5 实验验证
最后编译并烧录程序
6 使用过程遇到的问题
6.1 触摸功能点击屏幕位置不对
- 在测试lv_demo_keypad_encoder();示例时,屏幕响应不对,例如,点击右下角,但是左上角的按键显示被按下。如下图,取消三个选项,再编译烧录则正常了