关于ESP32开发心得 LVGL篇(一)

ESP32开发记录 LVGL篇(1)

概要

此篇文章是关于LVGL在esp32平台上的移植开发流程

工程版本信息

  • 开发芯片模组:Esp32S3
  • 开发平台: VScode + ESP-IDF
  • LVGL版本:v8.3

LVGL移植流程

1.获取官方库

首先我们先从以下网址获取lvgl官方库 https://gitee.com/my_lvgl/lvgl
请添加图片描述我这边使用的v8.3版本

2.开始移植工作

针对我们移植所需 只要LVGL库的以下几个文件就可以了
1.demos文件
2.examples文件(只需要包含porting文件)
3.src文件

请添加图片描述

请添加图片描述

3.调整接口函数

1.对于LVGL的使用,我们主要是应用一下几个接口函数,
lv_init();
是关于lvgl库相关功能的一些初始化工作,这边我们不详细赘述

lv_port_disp_init();
是显示部分所需要用到的函数,
针对缓存 各位可以按照自己使用cpu的资源情况来调整针对缓存机制 各位可以按照自己使用cpu的资源情况来调整,第一种配置方式可能会出现刷新比较慢的情况,第二种情况属于双缓冲区刷新机制,前提是RAM资源充足,第三种刷新机制也是双缓冲,比对第二种它属于整屏刷新,占用资源量甚于前者

在这里插入图片描述
接下来是对于刷屏函数的填充以及屏幕大小参数的完善配置

lv_port_indev_init();
是触控部分所需要的函数,在此函数中我们只需要关注两个功能,就是判断是否触摸屏幕 以及 获取触摸点的x坐标以及y坐标信息。
在这里插入图片描述

最后就是提供lvgl的心跳以及实时处理函数

在这里插入图片描述
在esp32平台,我们按照上图方式配置好软件定时器进行定时任务执行,我配置的是5ms进行一次心跳数的自增lv_tick_inc(5)
切记 不能忘记定时调用 lv_timer_handler()这个函数,否则你的界面不会进行刷新

小结

此篇只是对于移植LVGL流程进行的一些简单教学,关于详细的移植内容以及出现的问题我们下篇继续说说
后续我会详细描述LVGL的一些使用方面的经历,以及自己在移植LVGL过程中遇到的一些问题和需要注意的细节部分,希望这篇多多少少能帮助到读者,共勉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值