ESP32 使用 LVGL 的简单介绍(ESP32 for Arduino)

news/2024/11/17 5:45:51/

买了个小屏幕的开发板,资料等等各种东西都不是很全,最近翻出来计划玩一下。

先对硬件做一简单介绍:采用2.8寸SPI屏幕作为显示;主控为ESP32-WROOM-32。


首先要注意到的是LVGL的库是可以直接在Arduino上面应用的。就是有一点不太好,Arduino的编译器没有代码联想,编程太复杂了。


摘要

本文介绍了修改Arduino开发板库的目录更改方法;在ArduinoIDE手动添加库的方法;配置LVGL以供Arduino使用的步骤;简单说明了xtensa-esp32-elf-g++未找到报错的几种解决办法;Arduino首次添加ESP32开发板所需要配置的文件支持;LVGL运行Demo的配置过程等。


Arduino 中开发板的存储位置的更改

Arduino中,默认的开发板库文件及其他首选项文件都会存在下面目录中:

C:\Users\管理员文件夹\AppData\Local\Arduino15

我想更改到安装目录下,以方便管理和减少对C盘的占用。

更改方法:

直接剪贴 Arduino15 这个文件夹,放在 Arduino 的安装目录下,更改名字为 portable 。我的 ArduinoIDE 的安装文件夹命名为 Arduino ,所以更改完成的目录为:

F:\Arduino\portable

此时打开 Arduino 的首选项,会发现下面情况:

说明 Arduino 的开发板库文件目录更改成功。现在添加 ESP32 的开发板,会发现开发板库文件压缩包下载地址为:

F:\Arduino\portable\staging\packages

证明一切设置无误!


ESP32 & ESP8266 库的链接

自动添加库

自动添加库很简单,只列出首选项里需要添加的外部开发板链接。

https://www.arduino.cn/package_esp32_index.json
http://arduino.esp8266.com/stable/package_esp8266com_index.json

手动添加库

自动添加库下载很慢,不如github直接下载。

直接GitHub下载还会快一点,实际上自动下载也是访问的这个链接。

https://github.com/espressif/arduino-esp32
https://github.com/esp8266/Arduino

下载后添加目录

F:\Arduino\hardware

一定要放在hardware的下级文件夹内,例如下载解压完的esp32开发板库的名称为esp32,其目录应该为:

F:\Arduino\hardware\任意命名\esp32

再次打开ArduinoIDE,查看开发板文件,就有了想要添加的开发板!

如果没有,可尝试重启或者检查目录是否有问题!


LVGL库下载

还是采用在GitHub下载再导入Arduino的方法。

https://github.com/lvgl/lvgl

下载解压后将文件夹放在

F:\Arduino\libraries

 此时重启ArduinoIDE就能在 文件→示例 中找到LVGL的示例了,在 项目→加载库 中也能看到。


LVGL库配置

只是下载下来还不够,要应用在Arduino上还需要做一些配置!

可根据 Arduino — LVGL documentation (官方手册)来进行配置。

简单说明一下,复制 lv_conf_template.hArduino \ libraries 目录下。改名为 lv_conf.h

lv_conf.h 内的第一个 #if 0 改成 #if 1 。设置 LV_TICK_CUSTOM 为 1 。


在编译的时候出现了错误!主要是因为ESP32的一些支持文件没有。


xtensa-esp32-elf-g++未找到

好久没有用 Arduino 居然出现了错误

exec: "F:\\Arduino\\hardware\\esp32\\esp32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++": file does not exist

本质原因就是缺少了支持文件!如果刚添加 ESP32 到 Arduino ,可能不单单缺少这一个文件,只是恰好这个文件报错了!

xtensa-esp32-elf-g++未找到解决方法1:

此错误解决办法:可在SDK - ESP32 - Xtensa architecture toolchain 下载工具链并放入 tools 文件夹中。

具体解决介绍可见帖子:xtensa-esp32-elf-g++": file does not exist error; can't compile, please help - Page 2 - ESP32 ForumEspressif ESP32 Official Forumhttps://www.esp32.com/viewtopic.php?t=4091&start=10

因为把Arduino卸载了,又安上后esp32一堆报错。啊啊啊啊啊!!烦死了!!!解决不完了!!

xtensa-esp32-elf-g++未找到解决方法2:

在esp32开发板库文件夹下找到 tools→get.exe ,双击运行。

此过程网速较慢,可能失败,最好 science up internet

最后 tools 文件夹下的文件夹目录应为:

xtensa-esp32-elf-g++未找到解决方法3:

点击 get.exe 下载的速度太慢,还有可能导致失败,可以自行下载所需要文件然后补充到文件夹中。

只给出了链接,请斟酌需要下载的支持包。

下载 riscv32-esp32-elf、xtensa-esp32-elf、xtensa-esp32s2-elf、xtensa-esp32s3-elf

可在此链接寻找所需包,建议找 gcc8_4_0 版本的。直接解压到 tools 文件夹即可。

Releases · espressif/crosstool-NG · GitHubcrosstool-NG with support for Xtensa. Contribute to espressif/crosstool-NG development by creating an account on GitHub.https://github.com//espressif/crosstool-NG/releases

下载esptool

Releases · espressif/arduino-esp32 · GitHubArduino core for the ESP32. Contribute to espressif/arduino-esp32 development by creating an account on GitHub.https://hub.nuaa.cf/espressif/arduino-esp32/releases

下载mkspiffs

https://github.com/igrr/mkspiffs/releaseshttps://github.com/igrr/mkspiffs/releases

下载mklittlefs

https://github.com/earlephilhower/esp-quick-toolchain/releaseshttps://github.com/earlephilhower/esp-quick-toolchain/releases全部下载完成后,解压放入 tools 文件夹下即可。


跑Demo

根据 lvgl/demos at master · lvgl/lvgl · GitHub 所说。

  • 需要在 lv_conf.h 中配置需要运行的 demo。
  • 需要复制 demos文件夹 和 examples文件夹 到 src文件夹 中。
  • 在程序中将 #include <lv_demo.h> 更改为 #include "demos/lv_demos.h"

出现了解决不了的报错信息,暂时更新在这里。

擦,改了几个地方重新编译报错直接闪瞎眼了!有没有人知道这个问题怎么解决?

暂时先这样吧!

2022年9月5日:

今天复现了这个报错,先记录一下。原因是在 .h 文件中定义了 const char *String ,编译时产生了报错。但是在 .c 文件中定义此类变量,从 .h 文件中进行 extern 声明就没有报错。暂时未解决。


http://www.ppmy.cn/news/244109.html

相关文章

win10 + gtx1050 + cuda9.0 + Tensorflow1.8 gpu版本安装

win10 gtx1060 cuda9.0 Tensorflow1.8 gpu版本安装 俺电脑是GTX1050&#xff0c;对应CUDA9.0&#xff0c; 先安装acaconda 再安装cuda9.0&#xff0c;再安装cudnn 再创建虚拟环境 如&#xff1a; conda create -n your_env_name python3.6再安装GPU版本的 tensorflow p…

5G 标准 — R16

目录 文章目录 目录R16R16 引入的三阶段面向基础能力拓展优化LCOC(负载控制和过载控制)面向垂直行业能力增强mMTC一图读懂 3GPP R16R16 在 3GPP TSG 第 88 次会议上,3GPP 宣布与 2020 年 7 月 3 日冻结 5G 第一个演进标准 R16(Release 16)。 R16 标准主要从三个方向对 5…

1060 5G/1065 版显卡安装TensorFlow/CUDA

前提 你的显卡是1060 5G版本&#xff0c;你想尝试一下TensorFlow&#xff0c;还好你遇到我。 我的系统win10 64位 &#xff0c;python3.6&#xff0c;其他系统记得下载对应版本&#xff0c;我没有一一测试了。 准备工作 假设你已经安装好python3.6 &#xff0c;且PIP过N个版…

win10+1050Ti+tensorflow-gpu2.2.0+cudatoolkit10.1+cudnn7.6.5配置Tensorflow-gpu框架(无须本地安装cuda+cudnn)

避坑安装Tensorflow-gpu 安装心理路程&#xff08;吐槽&#xff09;安装环境选择安装过程详解测试 安装心理路程&#xff08;吐槽&#xff09; 历时两天时间&#xff0c;终于将Tensorflow-gpu安装成功, 期间观看不下于50篇的博客&#xff0c;也尝试多种的安装方法&#xff0c;其…

【CUDA for GTX一次点亮】winows10 + GTX1050Ti + tensorflow1.8 + CUDA9.0 + cudnn7.1

按如下步骤&#xff0c;一次安装成功CUDA9.0 for GTX。 搭配GPU&#xff0c;计算速度果然飞速提升。 O. 本人计算机及软件配置&#xff1a; i7-8750H 、GTX1050Ti 、Anaconda3 -64bit &#xff08;安装时选择了将路径添加到环境变量&#xff0c;也选择了下载并安装VS&#xff…

TFLite文件解析及格式转换

随着深度学习越来越流行&#xff0c;工业生产不光在PC端应用场景丰富&#xff0c;在移动端也越来越凸显出深度学习的重要性及应用价值。由于嵌入式平台受存储、指令集限制&#xff0c;需要提供更小的网络模型&#xff0c;并且某些DSP平台不支持float指令。tensorflow提供TOCO转…

iOS 高级工程师面试必备

请简要介绍一下 MVC、MVVM 和 VIPER 架构模式。它们的优缺点分别是什么&#xff1f; MVC&#xff08;Model-View-Controller&#xff09;&#xff1a; MVC 是一种经典的软件架构模式&#xff0c;主要分为三个部分&#xff1a;Model&#xff08;模型&#xff09;、View&#xf…

CS1237 数据实测

目录 硬件 测试数据 结论 性能 转换时间 硬件 外部电阻电位器 模拟 传感器信号 测试数据 一下记录数据为ADC原始数据未经过软件滤波 跳动幅度图片DEV_FREQUENCY_10DEV_PGA_1751DEV_FREQUENCY_40DEV_PGA_11562DEV_FREQUENCY_640DEV_PGA_18243DEV_FREQUENCY_640DEV_PGA_644…