ESP32使用lvgl

ESP32在Arduino下与屏幕交互除了可以使用TFT_eSPI,还可以使用更高级的LVGL。

配置步骤

  1. 先配置TFT_eSPI,因为lvgl基于TFT_eSPI。
  2. 克隆lvgl git 到Arduino的libraries目录
  3. 移动其下的demosexamples目录到src目录下
  4. 拷贝lv_conf_templat.h到libraries目录下并命名为lv_conf_templat.h
  5. 编辑lv_conf_templat.h,开头设置为1,并把需要使用的demo从0改为1
  6. 打开examples/arduino下的示例,修改相关参数,比如开头的屏幕宽高,还有setup()中要测试的demo。
  7. 由于example中用到了触摸函数,所以要改下TFT_eSPI/User_Setup.sh,指定TOUCH_CS的针脚IO。

PS:TFT_eSPI和lvgl也都可以通过Arduino自带的库管理安装,只是版本相对不怎么新。

优化点

  1. 屏幕,320*480以上为佳;
  2. 增加LV_MEM_SIZE,默认是48KB,benchmark结果FPS 44,增加到128后FPS提升到46;
  3. 调整屏幕方向,横坚切换后FPS上升到69。增加LV_MEM_SIZE到128后FPS上升到75!

如果要在MicroPython下使用lvgl,请参考ESP32自己编译原版和带LVGL的MicroPython

Leave a Comment

豫ICP备19001387号-1