ESP32基础应用之LVGL基础

2023-11-15

1 实验目的

本实验为使用ESP32实现LVGL(轻量级的嵌入式图形库),主要参考LVGL官方为ESP32所做的适配工程并在GitHub发布的lv_port_esp32并记录适配过程的采坑点
在这里插入图片描述

1.1 参考文章

  1. ESP32+st7789/ili9341运行LVGL例程,依赖ESP-IDF编译lv_port_esp32官方Demo(1)
  2. esp32-lvgl-(st7789/ILI9341)(基于esp-idf框架)
  3. LVGL project for ESP32

2 实验工具

  1. ESP32开发板是ESP32-DevKitC V4
  2. LCD是3.2inch SPI Module ILI9341

3 准备工作

本实验是参考

3.1 搭建ESP32开发环境

  1. 根据lv_port_esp32工程说明, ESP-IDF版本要求为4.2。
    在这里插入图片描述
  2. 电源问题,直接只用ESP32-DevKitC V4开发板接LCD有可能无法驱动,需要外接电源。

3.2 克隆lv_port_esp32工程

该步骤问题最多

  1. 直接使用git clone https://github.com/lvgl/lv_port_esp32.git克隆或使用官方方法git clone --recurse-submodules https://github.com/lvgl/lv_port_esp32.git 或直接下载程序包都会出现components文件夹下的子文件夹内容缺失,导致无法正常使用。这里推荐在Gitee平台搜索lv_port_esp32工程,在该平台克隆,或者components文件夹下的各个子工程单独克隆。

4 配置lv_port_esp32工程

  1. 将lv_port_esp32工程放置在esp-idf目录下
    在这里插入图片描述

  2. ESP32-DevKitC V4开发板引脚图
    在这里插入图片描述

  3. 使用idf.py menuconfig命令打开配置菜单
    在这里插入图片描述

  4. 配置LCD显示驱动引脚,注意在第2点截图中TFT SPI Bus是VSPI,则配置引脚需要对应为VSPI的引脚
    在这里插入图片描述

  5. 配置LCD触摸引脚,
    在这里插入图片描述在这里插入图片描述

  6. LCD屏幕尺寸配置和其余配置
    在这里插入图片描述

5 实验验证

最后编译并烧录程序
在这里插入图片描述

6 使用过程遇到的问题

6.1 触摸功能点击屏幕位置不对

  1. 在测试lv_demo_keypad_encoder();示例时,屏幕响应不对,例如,点击右下角,但是左上角的按键显示被按下。如下图,取消三个选项,再编译烧录则正常了
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESP32基础应用之LVGL基础 的相关文章

  • ESP32 上快捷部署 Tensorflow lite 机器学习(TinyML)

    在这篇文章中 我将向您展示使用 Arduino IDE 将 TensorFlow Lite 模型部署到 ESP32 的最简单方法 无需任何编译内容 Arduino 库 这个 Arduino 库是为了简化使用 Arduino IDE 将用于微
  • 【低功耗蓝牙】① 蓝牙广播数据格式分析

    摘要 本文章主要讲解了蓝牙的发展史 蓝牙信号 蓝牙广播数据的格式 最后使用ESP32芯片MicroPython固件给出了蓝牙广播的具体代码 是蓝牙初学者很好的参考资料 也可以参考下我在B站的蓝牙视频教程 ESP32教程 第二章 低功耗蓝牙B
  • ESP32(MicroPython)摇杆控制舵机

    主程序 橙色 信号线 gt 17 红色 电源正 gt 5V 褐色 电源负 gt GND 导入Pin模块 from machine import Pin import time from servo import Servo from mac
  • ESP32 之 ESP-IDF 教学(十八)—— 组件配置(KConfig)

    本文章 来自原创专栏 ESP32教学专栏 基于ESP IDF 讲解如何使用 ESP IDF 构建 ESP32 程序 发布文章并会持续为已发布文章添加新内容 每篇文章都经过了精打细磨 通过下方对话框进入专栏目录页 CSDN 请求进入目录 O
  • esp32-S3专题一:初识esp32

    初识esp32 S3 初识esp32 使用esp32 s3这款芯片开发接近一年了 分享一下开发中的一些经验和项目中的亮点 希望后人能从中借鉴到一些经验 一 优势和缺点 使用的是esp32 s3这款芯片 硬件上搭配300k的RAM的代码运行内
  • 【STM32 x ESP8266】连接 MQTT 服务器(报文,附部分源码解析)

    MQTT 协议作为物联网非常重要的传输协议 如何使用它十分重要 如果有不理解的同学可以点击这里学习 这里只是简单介绍一下 同时这里附上MQTT 3 1 1协议中文版 pdf 的链接 对协议底层感兴趣的同学可以下载学习一下 同时下面的实现函数
  • ESP32使用Arduino发布和订阅MQTT

    该项目展示了如何在ESP32上使用MQTT通信协议来发布消息和订阅主题 举例来说 我们会将BME280传感器的读数发布到Node RED仪表板 并控制ESP32输出 我们将使用Arduino IDE对ESP32进行编程 介绍 在此示例中 有
  • ESP32(MicroPython) 编码器电机闭环控制

    本人最近查找资料时 发现ESP32上的使用MicroPython的编码器电机相关程序较少 闭环控制程序都是Pyboard上的 与ESP32不完全兼容 本人通过micropython编程 esp32 drv8833 霍尔编码器 micropy
  • ESP32开发板手动更换外置的flash

    ESP32开发板手动更换外置的flash 实物板 风险提示 操作有风险 需谨慎 新手请勿模仿 第一步拿下屏蔽罩 用热风枪 360 吹下来的 第二步 更换flash芯片 ESP32 D0WDQ6芯片下方那个就是flash芯片了型号 25VQ3
  • ESP32引脚参考

    原文链接 ESP32引脚参考 您应该使用哪个GPIO引脚 360doc个人图书馆 总结的相当全面 ESP32简单易懂的GPIO使用注意事项 首先上图 GPIO建议列表 特别的在硬件上要注意使用外接模块时不能将GPIO12拉高 否则将导致ES
  • ESP32-S2应用开发——USB通信(CDC类)

    ESP32S2应用开发 USB通信 CDC类 目录 ESP32S2应用开发 USB通信 CDC类 前言 1 硬件介绍 1 1 硬件连接 2 软件开发 2 1 安装开发板 2 2 安装库 2 3 运行示例代码 2 4 USB传输速度测试 结束
  • 自制教学用ESP32开发板【ESP32_Py_Board】① 开发环境搭建

    摘要 由于教学需要 自己设计了一款ESP32开发板 用于 短距离无线通信 课堂教学使用 开发板整体效果如下图 该开发板采用Type C接口供电 板载CH340K串口芯片 支持自动下载 240 240全彩SPI接口显示屏 温度传感器DS18B
  • ESP32-C3 应用程序的启动流程

    网上说明一大堆 基本是官网文档复制没有额外解释 对于ESP32 C3的 risc v 内核 是我选择他的原因之一 了解芯片上电后的启动流程 有利于我们更加深入理解芯片 目录 前言 一 应用程序启动阶段 1 1 app main c 1 2
  • ESP32 的esp_http_client详解

    说明 我使用的是esp idf V3 1 3 官方给我们封装好了 HTTP 使用起来还是很方便 一 wifi连接 在main函数里面主要是做了wifi连接的初始化和HTTP任务的创建 如下是main的全部内容 void app main e
  • esp32-S3专题二:内存1之RAM使用

    esp32 S3模块内部的存储分为ROM RAM SPRAM RTC内存 FLASH 种类很多 几乎可以不使用外接存储器的情况下 可以进行很多业务场景 十分有用 现在我们逐一讲解一下他们的作用和使用方法 一 ROM 384 KB 内部 RO
  • OPENV接收和发送串口的数据

    import sensor image time from pyb import UART from pyb import Pin Timer LED import re sensor reset sensor set pixformat
  • ESP32开发阶段启用 Secure Boot 与 Flash encryption

    Secure Boot 与 Flash encryption详情 请参考 https blog csdn net espressif article details 79362094 1 开发环境 AT版本 2 4 0 0 发布 IDF 与
  • 当一个任务写入变量而其他任务读取该变量时,我们是否需要信号量?

    我正在研究 freeRtos 并且我有一个名为 x 的变量 现在 每秒只有一个任务正在写入该变量 而其他任务正在读取该变量值 我需要用互斥锁来保护变量吗 如果变量为 32 位或更小 并且其值是独立的并且不与任何其他变量一起解释 则不需要互斥
  • ESP32 httpd:标头字段太长,服务器无法解释

    我想流式传输到 Android 应用程序内的 WebView 我的代码是 WebView cam WebView findViewById R id Cam cam getSettings setLoadWithOverviewMode t
  • 使用什么 ffmpeg 命令将无符号整数列表转换为音频文件?

    我有一个文件 其中包含大约四万个整数的列表 这些整数以空格分隔 每个整数的值都在 0 到 255 之间 这里是这个文件 https github com johnlai2004 sound project blob master integ

随机推荐

  • CentOS 7.9 64位 SCC版安装FastDfs和配置Nginx

    最近练习的项目中需要用到FastDfs 和Nginx 这里记录一下安装和配置过程 个人使用部署过程遇到了很多的坑 准备把过程记下来不然忘了 首先 购买 试用阿里云 CentOS 7 9 64位Scc版系统 进入远程桌面 由于项目较老 所以我
  • 尚硅谷电影推荐系统搭建遇到的问题及知识

    尚硅谷电影推荐系统搭建遇到的问题及知识 Hadoop ES问题 Zookeeper Flume ng Kafka Azkaban 其他 腾讯云Superset问题 需更新数据库用户 登录master节点 cd usr local servi
  • java去掉字符串的逗号_java – 从字符串数组中删除逗号

    我想执行像这样的查询 从 xyz DB 中选择ID test 其中用户在 a b 所以相应的代码就像 String s for String user selUsers s user s 从test中选择ID 其中userId在s中 以下代
  • idea中 关于thymeleaf 变量 在html中 报红 以及控制器 返回页面无法追踪的问题

    html页面thymeleaf 的 变量 报红 无法追踪 controller 无法直接追踪 页面 默认配置前缀 templates 后缀 html 可以正常运行 页面跳转以及变量的传递 就是看着有点不舒服 咋办呢 我无意之间发现的 加入s
  • JVM学习笔记

    目录 垃圾回收器 垃圾回收器分类 按线程数分 按工作模式分 按碎片处理方式分 按工作的内存区间分 GC分类与性能指标 性能指标 吞吐量 性能指标 暂停时间 吞吐量vs暂停时间 垃圾回收器 垃圾回收器发展史 7种经典的垃圾收集器 垃圾回收器的
  • [人工智能-综述-3]:人工智能与硅基生命,人类终将成为造物主

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119061112 目录 引言
  • 145 - Table ' is marked as crashed and should be repai

    145 Table schoolhelp xyb user is marked as crashed and should be repai 145 表 schoolhelp xyb user 被标记为崩溃 应重新修 修复方式 repair
  • Html CSS学习(六)background-position背景图像的定位

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Html CSS学习 六 background position背景图像的定位 在网页中 会有很多的背景图像与一些小的图标等内容 在初学的时候 为了达到页面的效果 都是将原
  • Spring Boot中如何编写优雅的单元测试

    单元测试是指对软件中的最小可测试单元进行检查和验证 在Java中 单元测试的最小单元是类 通过编写针对类或方法的小段代码 来检验被测代码是否符合预期结果或行为 执行单元测试可以帮助开发者验证代码是否正确实现了功能需求 以及是否能够适应应用环
  • Log4j2之JNDI注入(CVE-2021-44228)

    前言 首先要了解什么是Log4j2 Log4j2是一个Java日志组件 主要用于对日志的记录 这次漏洞出现在Log4j2的Lookup功能 使用Lookup可以在日志中添加动态的值 这些变量可以是外部环境变量 也可以是MDC中的变量 还可以
  • 海量数据库(详解缓存处理方法)

    缓存处理大数据 缓存就是将从数据库中获取的结果暂时保存起来在下次使用的时候无需重新到数据库中获取 从而降低数据库的压力 缓存的使用方式可以分为通过程序直接将数据库数据保存到内存中和使用缓存框架两种方式 它主要用于数据变化不是很频繁的情况 而
  • OR36 链表的回文结构

    OR36 链表的回文结构 较难 通过率 29 47 时间限制 3秒 空间限制 32M 知识点 链表栈 描述 对于一个链表 请设计一个时间复杂度为O n 额外空间复杂度为O 1 的算法 判断其是否为回文结构 给定一个链表的头指针A 请返回一个
  • python中抽象类和抽象方法_在Python中定义和使用 抽象类及抽象方法 抽象属性

    原文链接 http www jb51 net article 87710 htm 本文根据自己的理解和思考 对原文略有改动 Python中我们可以使用abc模块来构建抽象类 在讲抽象类之前 先说下抽象方法的实现 抽象方法是基类中定义的方法
  • 【MMDet Note】MMDetection中Neck之FPN代码理解与解读

    文章目录 前言 一 总概 二 代码解读 1 FPN类 2 def forward 总结 前言 mmdetection mmdet models necks fpn py中FPN类的个人理解与解读 一 总概 本文以mmdetection co
  • vscode快捷键(全局搜索等

    vscode其实有强大的快捷键搜索功能 全部快捷键可以参考官网 Visual Studio Code Key Bindings Mac快捷键 https code visualstudio com shortcuts keyboard sh
  • 【IDEA】idea Gradle 里面java类显示为灰色

    文章目录 1 概述 2 第一步 1 概述 IDEA下导入了es源码 并且编译成功 参考 Elasticsearch es 6 8 编译成功 但是看源码的时候 却发现部分为黑色 2 第一步 找到父项目 点击右键 选择Open Module S
  • 睿智的目标检测36——Pytorch搭建Efficientdet目标检测平台

    睿智的目标检测33 Pytorch搭建Efficientdet目标检测平台 学习前言 什么是Efficientdet目标检测算法 源码下载 Efficientdet实现思路 一 预测部分 1 主干网络介绍 2 BiFPN加强特征提取 3 从
  • C++获取Unix时间戳(分别以秒和毫秒为单位)的几种方法

    文章目录 前言 正文 1 调用ctime库 2 调用chrono 3 调用sys timeb h 总结 前言 有时需要打印当前的绝对时间 并计算时间间隔 Unix时间戳是一种很好的时间记录标准 表示从1970年1月1日 UTC GMT的午夜
  • Ubuntu系统安装中文输入法教程

    新安装的Ubuntu系统由于无法进行中文输入 经过排查找到解决方法 Ubuntu系统安装中文输入法教程 在Vmware虚拟机中安装好Ubuntu系统 但是一般情况下无法使用中文输入 需要使用中午输入的时候非常不方便 可以通过在终端中输入以下
  • ESP32基础应用之LVGL基础

    文章目录 1 实验目的 1 1 参考文章 2 实验工具 3 准备工作 3 1 搭建ESP32开发环境 3 2 克隆lv port esp32工程 4 配置lv port esp32工程 5 实验验证 6 使用过程遇到的问题 6 1 触摸功能