【esp32&lvgl】-0 # ESP32+lvgl8开发框架的选择

发布于:2023-01-21 ⋅ 阅读:(451) ⋅ 点赞:(0)

        最近开始尝试在esp32上进行lvgl8的开发,目前网上常规的方式有两种:

        一种是利用lvgl_esp32_driver库配合lvgl库进行开发,这种方式通常在VScode上利用ESP-IDF插件进行开发,基于esp32的lvgl官方例程lvgl_port_esp32就是以这种方式下开发,由于官方例程的存在,可参考内容较多,而且可以通过ESP-IDF插件进行可视化的参数设置比较方便。

图1-ESP-IDF插件的可视化界面

        但是这种方式存在一个较大的问题,即lvgl_esp32_driver库与lvgl8的适配做的并不好,极大可能的导致lvgl_esp32_driver库内报错,常见于lvgl_helper.h文件等,需要在库里进行一些修改才能运行,而且这种修改在面对不同设备似乎并不相同,难以稳定使用。至少我的硬件经过一些可查到的改动后仍然无法正常运行。

这里列举一些基于此方法移植lvgl8的参考文章:

ESP32 IDF 移植 LVGL - 哔哩哔哩 (bilibili.com)

移植LVGL8到esp32的踩坑记录_flamebox的博客-CSDN博客_lvgl移植到esp32

[教程] esp32平台下运行lvgl,使用屏幕st7735s 128*128详细配置 - 哔哩哔哩 (bilibili.com)

        另一种方式是通过TFT_eSPI库配合lvgl库进行使用,这种方式通常基于PlatformIO插件使用。无论是TFT_eSPI库还是lvgl库都可以通过PlatformIO平台的Libraries直接添加。

图二-PlatformIO添加lvgl库

        而且由于TFT_eSPI与lvgl库之间基本不存在耦合性,lvgl的版本变更对这一方法几乎没有影响。而且从实际使用体验上,修改TFT_eSPI库的User_Setup.h文件并不麻烦,即使是相比较方法一中用ESP-IDF的可视化界面设置也并不算麻烦。因此后续的开发选用我准备基于这一方法来进行(当然主要是方法一的bug我找不到解决方法😅)。

 这里列举一些基于此方法移植lvgl8的参考文章:

移植LVGL8到esp32的踩坑记录_flamebox的博客-CSDN博客_lvgl移植到esp32

ESP32 LVGL - 维可思电子wiki

本文含有隐藏内容,请 开通VIP 后查看