Arduino¶
LVGL 库 可直接作为 Arduino 库使用。
请注意,您需要选择足够强大的开发板来运行 LVGL 和您的 GUI。请参阅 LVGL 的要求。
例如,ESP32 是一个使用 LVGL 创建 UI 的不错选择。
获取 LVGL Arduino 库¶
LVGL 可以通过 Arduino IDE 的库管理器安装,也可以作为 .ZIP 库安装。
您可以从 GitHub 下载 LVGL 的最新版本,并将其复制到 Arduino 的库文件夹中。
设置驱动程序¶
建议使用 TFT_eSPI 库作为 TFT 驱动程序以简化测试。
要使其正常工作,请根据您的 TFT 显示屏类型设置 TFT_eSPI,通过编辑以下文件之一:
User_Setup.h或在
User_Setup_Select.h中选择一个配置
这两个文件都位于 TFT_eSPI 库的文件夹中。
配置 LVGL¶
LVGL 有一个名为 lv_conf.h 的配置文件。安装 LVGL 后,请按照以下配置步骤操作:
转到已安装的 Arduino 库的目录
转到
lvgl并将lv_conf_template.h复制为lv_conf.h,放入 Arduino 库目录中lvgl库文件夹旁边。打开
lv_conf.h并将第一个#if 0更改为#if 1以启用文件内容在
LV_COLOR_DEPTH中设置显示屏的颜色深度设置
LV_TICK_CUSTOM 1
最终,lv_conf.h 的布局应如下所示:
arduino
|-libraries
|-lvgl
|-other_lib_1
|-other_lib_2
|-lv_conf.h
初始化并运行 LVGL¶
查看 LVGL_Arduino.ino 以了解如何初始化 LVGL。
TFT_eSPI 用作显示驱动程序。
在 INO 文件中,您可以看到如何为 LVGL 注册显示屏和触摸板并调用示例。
使用示例和演示¶
请注意,并非每个示例都有专用的 INO 文件。相反,您可以通过调用 lv_example_... 函数加载示例。例如 lv_example_btn_1()。
重要
由于 Arduino 构建系统的一些限制,您需要将 lvgl/examples 复制到 lvgl/src/examples。对于演示也是如此,将 lvgl/demos 复制到 lvgl/src/demos。
调试和日志记录¶
LVGL 在出现问题时可以显示调试信息。
在 LVGL_Arduino.ino 示例中有一个 my_print 方法,它将此调试信息发送到串行接口。
要启用此功能,您必须编辑 lv_conf.h 文件并在 log settings 部分启用日志记录:
/*Log settings*/
#define USE_LV_LOG 1 /*Enable/disable the log module*/
#if LV_USE_LOG
/* How important log should be added:
* LV_LOG_LEVEL_TRACE A lot of logs to give detailed information
* LV_LOG_LEVEL_INFO Log important events
* LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem
* LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
* LV_LOG_LEVEL_NONE Do not log anything
*/
# define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
启用日志模块并相应设置 LV_LOG_LEVEL 后,输出日志将以 115200 bps 的速率发送到 Serial 端口。