在 LVGL 8.3 版本中,可以通过以下步骤切换到 LV_DISP_RENDER_MODE_PARTIAL 模式,从而实现部分刷新:

  1. 启用组件功能:在 lv_conf.h 文件中定义宏 LV_USE_GROUP 并将其设置为 1

  2. 创建组件组:在初始化阶段,使用 lv_group_t 结构体创建一个组件组,并将需要更新的组件添加到该组中。

  3. 部分刷新:当需要更新某个组件时,使用 lv_group_focus_obj 函数将该组件设置为当前焦点对象,然后调用 lv_refr_task 函数进行部分刷新。

  4. 全局刷新:当需要全局刷新时,使用 lv_group_focus_free 函数释放焦点对象,并调用 lv_refr_task 函数进行全局刷新。

以下是一个示例代码:

// 启用组件功能
#define LV_USE_GROUP 1

// 初始化阶段创建组件组
lv_group_t* g = lv_group_create();

// 将需要部分刷新的组件添加到组件组中
lv_group_add_obj(g, obj1);
lv_group_add_obj(g, obj2);

// 更新需要部分刷新的组件
lv_group_focus_obj(obj1);
lv_refr_task();

// 释放焦点对象并进行全局刷新
lv_group_focus_free();
lv_refr_task();

需要注意的是,LV_DISP_RENDER_MODE_PARTIAL 模式需要硬件支持,具体信息请参考 LVGL 文档。

LVGL 8.3 版本:如何切换到部分刷新模式 (LV_DISP_RENDER_MODE_PARTIAL)

原文地址: https://www.cveoy.top/t/topic/nwCQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录