LVGL实战指南:手把手教你玩转ESP32-S3 2.8寸串口屏UI开发

描述

你是否也曾被ESP32的显示开发折磨到“头秃”?环境配置报错、LVGL移植失败、屏幕死活不亮……无数个小时在调试中白白浪费。

别担心,这篇指南就是你的“速救手册”。我们将跳过所有繁琐的坑,直击核心,让你在最短时间内,亲眼看到LVGL界面在启明智显ESP32-S3 2.8寸屏上流畅运行。无需痛苦的摸索,跟着我们的步骤,从零到一,全程畅通无阻

 

搭建ESP-IDF环境

1. 输入以下代码更新软件包:sudo apt-get update

串口屏

2. 输入以下代码安装esp-idf环境依赖包:

sudo apt-get install git wget flex bison gperf python3-pip python3-venv cmake

ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools)

串口屏

3. 创建存放idf的⽂件夹,路径可以⾃⼰选择(mkdir esp cd esp)

4. 进行换源(此操作只需国内⽤户进⾏,国外⽤户请忽略),拉取gitee⼯具

串口屏

5. 输入代码cd esp-gitee-tools执⾏gitee⼯具切换镜像脚本

串口屏

6. 更换pip源,拉取esp-idf源码:

cd .. git clone --recursive https://github.com/espressif/esp-idf.git

串口屏

7. 切换esp-idf版本分⽀到v5.1

8.安装编译⼯具

串口屏

9.设置环境变量并将环境变量放到.bashrc中,验证esp-idf环境

串口屏

下载启明SDK


 

1. 输入以下代码拉取源码,该拉取流程中已集成 LVGL demo 相关资源:git clone https://gitee.com/qiming-zhixian/qmsd-esp32-bsp.git串口屏2. 进⼊示例目录,输入以下代码选择开发板类型:idf.py load-board,以ZX2D80CE02S这款产品为例,键盘输⼊2,回车等待系统配置完成串口屏3.编译工程 idf.py build4. 打包固件 idf.py generate-firmware 会⽣成⼀个firmware_0x0.bin⽂件,将打包的固件复制到桌面上串口屏

烧录


1.输入以下网址进入官网下载烧录工具,点击Download,选择flash Download Tool进行下载:

https://www.espressif.com/zh-hans/support/download/other-tools

串口屏

2. 打开烧录工具,ZX2D80CE02S选择类型为ESP32-S3 ,点击ok

串口屏

3. 选择需要烧录的固件,目标地址为0x0.选择目标端口号

4. 点击START开始烧录

 

一移植LVGL官方例程到qmsd

1. 输入qmsd的示例get-start,我们的修改将基于get-start进行

串口屏

2. 新建自定义组件目录,输入代码mkdir components获取LVGL8.10.0源代码

串口屏

3. 解压后进⼊此目录下将其复制到widgets目录下
 

串口屏

4. 编写CMakeLists.txt使程序加⼊构建系统

idf_component_register(

SRC_DIRS .

INCLUDE_DIRS .

REQUIRES ui_engine)

串口屏

5. 修改复制的⽂件,使其适配qmsd

6. 修改mian.c,在app_main(Void)中添加以下代码开启GUI刷新任务

串口屏

7. 输入以下配置代码将屏幕变为横屏

串口屏

8. 选择开发板类型(选择开发板时出错可以尝试将启明SD添加进环境变量),开始编译

串口屏

9. 编译失败,此次失败原因是芯片内部 32KB 内存不足,需修改配置

串口屏

10.再次编译,再次打包固件并复制到桌面上替换,按照之前的烧录步骤再次烧录

 

本地代码合成

1. 编写⼀个串口初始化函数

2. 修改main_app(Void)

3. 创建⼀个串口接收线程

4. 修改LVGL界⾯

 

跟着这份指南一步步操作,相信你已经成功点亮了屏幕,并看到了属于自己的LVGL界面。这不仅是代码的成功运行,更是你攻克嵌入式UI开发难题的坚实一步。

如果在实践中遇到任何问题,或者成功做出了炫酷的效果,欢迎在评论区分享你的成果与经验——你的真实经历,就是帮助其他开发者最宝贵的力量。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分