开源项目 lv_arduino 使用教程
lv_arduinoLVGL as Arduino Library + example sketch项目地址:https://gitcode.com/gh_mirrors/lv/lv_arduino
1. 项目的目录结构及介绍
lv_arduino/
├── examples/
│ ├── HelloWorld/
│ ├── SimpleTest/
│ └── ...
├── libraries/
│ ├── lvgl/
│ └── ...
├── tools/
│ ├── gen_img/
│ └── ...
├── README.md
├── LICENSE
└── ...
- examples/: 包含多个示例项目,如
HelloWorld
和SimpleTest
,用于展示如何使用 lvgl 库。 - libraries/: 包含 lvgl 库及其他依赖库。
- tools/: 包含一些辅助工具,如图片生成工具
gen_img
。 - README.md: 项目的基本介绍和使用说明。
- LICENSE: 项目的开源许可证。
2. 项目的启动文件介绍
在 examples/HelloWorld/
目录下,主要的启动文件是 HelloWorld.ino
。这个文件包含了项目的初始化代码和主循环。
#include <lvgl.h>
#include <TFT_eSPI.h>
TFT_eSPI tft = TFT_eSPI();
void setup() {
lv_init();
tft.begin();
tft.setRotation(1);
lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * 10);
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv);
disp_drv.flush_cb = my_disp_flush;
disp_drv.buffer = &disp_buf;
lv_disp_drv_register(&disp_drv);
}
void loop() {
lv_task_handler();
delay(5);
}
- setup(): 初始化 lvgl 库和 TFT 显示屏。
- loop(): 主循环,处理 lvgl 任务。
3. 项目的配置文件介绍
在 libraries/lvgl/
目录下,主要的配置文件是 lv_conf.h
。这个文件包含了 lvgl 库的各种配置选项。
#ifndef LV_CONF_H
#define LV_CONF_H
#include <Arduino.h>
#define LV_HOR_RES_MAX (320)
#define LV_VER_RES_MAX (240)
#define LV_COLOR_DEPTH 16
#define LV_DISP_DEF_REFR_PERIOD (30)
#include "lv_conf_template.h"
#endif /*LV_CONF_H*/
- LV_HOR_RES_MAX: 设置屏幕的水平分辨率。
- LV_VER_RES_MAX: 设置屏幕的垂直分辨率。
- LV_COLOR_DEPTH: 设置颜色深度。
- LV_DISP_DEF_REFR_PERIOD: 设置屏幕刷新周期。
通过修改 lv_conf.h
文件,可以调整 lvgl 库的行为和性能。
lv_arduinoLVGL as Arduino Library + example sketch项目地址:https://gitcode.com/gh_mirrors/lv/lv_arduino