还在为嵌入式显示界面的开发而烦恼吗?配置环境复杂、移植LVGL困难、烧录过程频频出错——这些问题我们都懂。今天,我们将手把手带你走完启明云端ESP32-S3 2.8寸串口屏的完整开发流程,让你快速实现酷炫的LVGL界面效果!本教程代码全部开源!后台私信关键词“S3-2.8寸屏LVGL开发“自动获取ESP32-S3 2.8寸串口屏LVGL开发源代码百度网盘链接!
串口屏准备
本次我们用于给大家演示的LVGL开发流程的串口屏是启明云端自主研发的基于乐鑫科技ESP32-S3的2.8寸串口屏。
该串口屏自带结构件,支持采用LVGL工具进行UI开发,支持快速开发。
我们还为大家准备了详细的上手指南,大家可以参考学习:
搭建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界⾯
启明云端ESP32-S3串口屏为嵌入式交互应用提供了强大的开发平台,让产品开发更加便捷高效!其实这款串口屏的天赋还远不止于此,还支持爆改掌上游戏机,感兴趣的小伙伴可以入手学习哦!如果你也对我们的ESP32-S3 2.8寸串口屏感兴趣,欢迎关注“启明云端官方企业店”淘宝店铺,更多好物等你来捞!







