首页 > 其他分享 >LVGL --- 移植

LVGL --- 移植

时间:2024-05-13 15:40:56浏览次数:21  
标签:disp lv area --- user LVGL display 移植

1、提供 LVGL 写 LCD 指定区域的函数

当 LVGL 渲染完,调用回调函数 example_lvgl_flush_cb 把数据写入 LCD

    // set the callback which can copy the rendered image to an area of the display
    lv_display_set_flush_cb(display, example_lvgl_flush_cb);

 

回调函数的函数类型如下

typedef void (*lv_display_flush_cb_t)(lv_display_t * disp, const lv_area_t * area, uint8_t * px_map);

 

area 指定待显示数据的坐标,px_map 是待显示数据,disp 创建 LVGL 显示返回的对象,所以可以把写 LCD 指定区域的函数记录在 disp 对象内

    // associate the mipi panel handle to the display
    lv_display_set_user_data(display, mipi_dpi_panel);

void lv_display_set_user_data(lv_display_t * disp, void * user_data)
{
    if(!disp) disp = lv_display_get_default();
    if(!disp) return;
    disp->user_data = user_data;
}

 

从而实现 LVGL 渲染完,调用回调函数,在回调函数内写 LCD 指定区域,回调函数例子如下

static void example_lvgl_flush_cb(lv_display_t *disp, const lv_area_t *area, uint8_t *px_map)
{
    esp_lcd_panel_handle_t panel_handle = lv_display_get_user_data(disp);
    int offsetx1 = area->x1;
    int offsetx2 = area->x2;
    int offsety1 = area->y1;
    int offsety2 = area->y2;
    // pass the draw buffer to the driver
    esp_lcd_panel_draw_bitmap(panel_handle, offsetx1, offsety1, offsetx2 + 1, offsety2 + 1, px_map);
}

 

标签:disp,lv,area,---,user,LVGL,display,移植
From: https://www.cnblogs.com/god-of-death/p/18189364

相关文章

  • 金融系列---【对接核心流水方案】
    对接核心流水方案1.需求在对接流水的时候,通常会对实时性和准确性有要求,但是核心在流式下发流水的时候又难免会造成冗余流水记录,例如:修改了某笔流水或删除了某笔流水,这时候,如果下游已经根据流水号完成了对应的业务处理,就很难再撤回。2.方案设计既要兼顾实时性,又要兼顾准确性,......
  • (MEGA详解)Memory enhanced global-local aggregation for video object detection (CVPR
    在视频中检测物体和在图像中检测物体的最大区别在于:信息存在于时间维度中。视频中孤立的帧可能会出现运动模糊、遮挡或失焦等问题,自然可以想到从整个视频中寻找线索来识别物体。当我们无法确定一个目标的类别时,我们会从其它帧中寻找一个与当前目标具有高度语义相似性的独特目标,并......
  • Java-SSM-Day01 Maven理论
    一、Maven的入门进阶1.1什么是Maven:掌控软件安装配置以及项目构建依赖管理的软件。1.3选用Maven-3.6.3 二、基于IDEA的Maven工程创建2.1梳理Maven工程GAVP属性:GroupId、ArtifactId、Version、PackagingGroupId格式:com.mingxi.业务线.子业务线ex:com.......
  • 洛谷题单指南-动态规划3-P1880 [NOI1995] 石子合并
    原题链接:https://www.luogu.com.cn/problem/P1880题意解读:计算n堆石子合并的最小、最大得分,只不过这n堆石子是环形的,也就是首、尾也相邻,是区间DP的升级版-环形DP问题。解题思路:如果是常规区间DP的方法:对于n堆石子,考察区间的长度范围是1~n先枚举左端点i,范围是1~n再计算右......
  • vant---vantui上拉刷新下拉加载
    在用vantui做移动端列表数据渲染的时候,经常会使用到下拉刷新和上来加载。其实在vantui里面,它已经为我们提供了对应的组件,我们只需要去使用即可,具体代码示例:<van-pull-refreshv-model="tableList.refreshing"@refresh="refreshs"><van-listv-model="tableList.isLoadin......
  • 软件测评笔记06--数据库
     数据控制功能对数据库中的数据的安全性、完整性、并发和故障恢复的控制安全性:防止不合法的使用造成的数据泄露、破坏完整性:防止向数据库加入不符合语义的数据并发控制:导致数据不一致性,主要有:丢失更新、不可重复读和读脏数据,主要原因是破坏了事务的隔离性故障恢复:有三类故......
  • 采用双dsPIC DSC内核配置,DSPIC33CH128MP208-E/PT DSPIC33CH128MP208-I/PT DSPIC33CH12
    dsPIC33CH系列数字信号控制器简介dsPIC33CH系列控制器采用单芯片、双dsPICDSC内核配置,将为设计高端嵌入式控制应用的系统开发人员带来福音。根据设计,dsPIC33CH的两个内核一个是主核,一个是副核。副核用于执行时间关键型专用控制代码,主核负责运行用户接口、系统监控和通信功能,专为......
  • c++-----declval
    std::declval基本概念和常规实例std::decval–C++新标准中出现的函数模板,没有函数体(只有声明、没有实现),无法调用,一般用于与decltype,sizeof等关键字配合来进行类型推导、占用内存空间计算等查看源码: add_rvalue_reference:是C++标准库中的类模板,他的能力是给进一个类型,它......
  • 消费电子产品数据安全芯片推荐-LCS4110R
    这些年来,我国消费电子的技术一直都在不断上升,很多知名品牌的消费电子都把生产基地建立在我国,成为了全球最大的消费电子的制造中心。同时我国消费电子的市场规模也在不断增大,这也让市场成熟度提高。我国不仅是最大的消费电子消费国,也是出口国。如何保障消费电子的版权及数据安全,可......
  • 4-30V 输入、1.2A 固定输出同步降压驱动器
    产品描述 AP3462是一款支持宽电压输入的同步降压电源管理芯片,输入电压4-30V范围内可实现1.2A的连续电流输出。AP3462具有优秀的恒压特性。AP3462采用电流模式的环路控制原理,实现了快速的动态响应。AP3462工作开关频率为220kHz,具有良好的EMI特性。AP3462内置有......