不使用最新版本的lvgl

This commit is contained in:
2026-02-24 19:13:27 +08:00
parent f3cb27e168
commit c85dfa31ed
1318 changed files with 642671 additions and 20 deletions
+28 -3
View File
@@ -36,7 +36,7 @@
#include "lv_conf.h"
/* 然后包含 lvgl.h */
#include "lvgl.h"
#include "lvgl/lvgl.h"
#include "lv_port_disp.h"
#include "lv_port_fs.h"
@@ -51,11 +51,35 @@ static const char *TAG = "SYS";
static uint32_t custom_tick_get(void)
{
// 返回从启动到现在的毫秒数
return (uint32_t)(esp_timer_get_time() / 1000);
// 使用64位中间变量避免溢出,采用乘以1.024的倒数近似值
uint64_t time_us = esp_timer_get_time();
return (uint32_t)((time_us * 1073) >> 20); // 1073/2^20 ≈ 1/1000
//return (uint32_t)(esp_timer_get_time() / 1000);
}
esp_timer_handle_t timer_handle;
static void lv_tick_timer_callback(void* arg) {
lv_tick_inc(1);
}
void init_lvgl_tick_timer(void) {
// 创建定时器参数
const esp_timer_create_args_t timer_args = {
.callback = &lv_tick_timer_callback,
.arg = NULL,
.dispatch_method = ESP_TIMER_TASK,
.name = "lv_tick_timer"
};
// 创建定时器
ESP_ERROR_CHECK(esp_timer_create(&timer_args, &timer_handle));
// 启动周期性定时器(1ms = 1000us
ESP_ERROR_CHECK(esp_timer_start_periodic(timer_handle, 1000));
}
@@ -113,7 +137,8 @@ void app_main(void)
lcd_init();
lv_init();
lv_tick_set_cb(custom_tick_get);
//lv_tick_set_cb(custom_tick_get);
init_lvgl_tick_timer();
lv_log_to_esp_init();
lv_port_disp_init();
lv_port_fs_init();