起因
LVGL的ESP32 Drivers库中已经包含了大多数显示和触摸芯片的驱动,基本上只需要在MenuConfig中选择即可,大大方便了屏幕适配工作。最近在一个项目中,屏幕总成使用的屏幕是ST7789V芯片和CST816T芯片。虽然给了对应Ardunio的驱动,但是在使用ESP-IDF进行开发时,还是需要进行一些简单的移植工作的。
效果(正常显示,触摸屏可调换X,Y轴)
使用方式
前提
- 已经掌握了ESP-IDF的点灯编程技能
- 已经可以集成LVGL并正常显示demo。
操作步骤
那么,与集成LVGL_ESP32_Drivers 的方式相同。
GITEE: https://gitee.com/exp-pi/lvgl_esp32_drivers
-
从以上Git仓库 Clone代码到 ESP-IDF 项目中的 components文件夹下。
-
修改 lvgl_esp32_drivers/lvgl_helpers.h 文件。定义最大的宽度和高度,如我使用的屏幕是240x280。
#define LV_HOR_RES_MAX 240
#define LV_VER_RES_MAX 280
- TFT屏幕的设置
- 打开MenuConfig。在LVGL configuration 中的 “Color Settings”,Color depth 选择 RGB565
- 勾选 Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI).
- 在 LVGL TFT Display controller 中 “Select a display c