ESP32基础应用之LVGL基础

news/2024/4/20 0:21:42/文章来源:https://blog.csdn.net/qq_42900996/article/details/128098865

文章目录

  • 1 实验目的
    • 1.1 参考文章
  • 2 实验工具
  • 3 准备工作
    • 3.1 搭建ESP32开发环境
    • 3.2 克隆lv_port_esp32工程
  • 4 配置lv_port_esp32工程
  • 5 实验验证
  • 6 使用过程遇到的问题
    • 6.1 触摸功能点击屏幕位置不对

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();示例时,屏幕响应不对,例如,点击右下角,但是左上角的按键显示被按下。如下图,取消三个选项,再编译烧录则正常了
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_38872.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

消息队列概述与扩展

一、消息队列的特性 与业务解藕:一个具有普适性质的消息队列组件不需要考虑上层的业务模型,只做好消息的分发就可以了,上层业务的不同模块反而需要依赖消息队列所定义的规范进行通信。FIFO:先投递先到达的保证是一个消息队列和一…

计算机组成原理习题课第三章-2(唐朔飞)

计算机组成原理习题课第三章-2(唐朔飞) ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csdn首发! 😘系列专栏:java学习 💻首发时间:&…

梦开始的地方——C语言柔性数组

文章目录柔性数组什么是柔性数组?柔性数组的使用柔性数组的优点柔性数组 什么是柔性数组? 在C99中,结构体最后一个元素它允许是一个未知大小的数组,这就叫做柔性数组成员。 这个概念听起来可能有点不可以思议,但它的…

第三十九篇 自定义指令 - directive

前面讲了关于在Vue中如何来进行封装swiper组件的内容,本篇内容讲到使自定义组件,讲这块内容也是同样为了后续再次回顾封装swiper组件变化做铺垫内容,那么什么是自定义指令,在前面的内容讲过了好些常用的指令,如 v-modl…

【linux】环境基础开发工具使用

1.vim编辑器 vim中最常用的是三种模式:命令模式,底行模式,插入模式。 命令模式(Normal mode)命令模式是我们第一次vim打开文件的样子(默认模式),这里控制屏幕光标的移动,字符、字或行的删除&…

考CISAW的N个理由!

随着信息科技的飞速发展,互联网的普及,面对信息安全的严峻局势,网络信息安全显得尤为重要,同时近些年来,国家也相继出台一些政策,并推出一些国家认证的资格证书,CISAW认证就是专门针对信息安全保…

DPDK代码目录结构

DPDK功能结构 DPDK工程目录内容 dpdk-stable-18.11.11]# ls app buildtools devtools drivers GNUmakefile lib MAINTAINERS meson.build mk README usertools build config doc examples kernel license Makefile meson_opt…

使用React.ts创建一个密码生成器的简单示例

目录密码生成器DemoFeature知识点React TypeScript —— Function Components为元素(::before/::after)绑定点击事件React如何正确定义对象数组在React中设置复选框check属性三目运算符实现React动态绑定class和style参考资料密码生成器Demo 使用密码生成器工具创建随机密码。P…

GIT技巧

目录 基础命令 commit 、branch merge rebase 高级特性 自由修改提交树 cherry-pick rebase 远程仓库命令 基础命令 commit 、branch Git Commit Git 仓库中的提交记录保存的是你的目录下所有文件的快照,就像是把整个目录复制,然后再粘贴一样…

流媒体传输 - HLS 协议

HLS 全称是 HTTP Live Streaming,是一个由 Apple 公司提出的基于 HTTP 的媒体流传输协议,用于实时音视频流的传输。目前 HLS 协议被广泛的应用于视频点播和直播领域。 概述 原理介绍 通过将整条流切割成一个小的可以通过 HTTP 下载的媒体文件&#xff…

Spirng 痛苦源码学习(二)——手写spring大致总框架(一)

文章目录前言一、总体步骤如下1、spring 文件夹2、myProject 文件夹二、主要coding1、配置文件2、容器3、一些spring中的重要的注解4、项目中的使用5.重要的bean定义信息6、postProcessor重要,前置通知和后置主要项目的截图前言 本文主要基于spring的注解的方式完成…

Python的10个编程技巧,你不一定都知道

文末有Python资料下载 1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: 赋值的右侧形成了一个新的元组,左侧立即解析(unpack)那个&…

leetcode-每日一题-1758-生成交替二进制字符串的最少操作数(简单,数学思想)

这道题标记为简单题是正常的,因为当你想到0或者1开头的时候就已经结束了看看我的分析 那么知道这个信息之后就很简单了,加上我们的位运算符号^作为标记即可,大家看看代码实现 1758. 生成交替二进制字符串的最少操作数 难度简单88收藏分享切换…

Mysql基础知识篇(二)

1.UNION 与 UNION ALL 的区别? 如果使用 UNION,会在表链接后筛选掉重复的记录行如果使用 UNION ALL,不会合并重复的记录行从效率上说,UNION ALL 要比 UNION 快很多,如果合并没有刻意要删除重复行,那么就使…

Java基于springboot+vue的摄影作品展示交流系统 计算机毕业设计

随着时代的发展,人们的精神世界也在不断的丰富,尤其是在当下电子设备发展迅速的背景下,人们通过数码相机或者手机随后就可以拍下每一个美丽的瞬间,但是人们更希望将这些摄影作品传到网上和更多的人进行分享,同时也希望…

电脑键盘功能基础知识,快速入门,抓住这份详细教程

在互联网生活发达的今天,电脑已经成为了学习工作的必备工具。而用来操作电脑的关键,就是我们经常使用的键盘和鼠标。最近有不少的小伙伴来私信小编,希望小编做一个电脑键盘功能基础知识介绍的详细教程。这不,小编应大家要求&#…

用匠心创造可期未来!与广州流辰信息科技一起携手创佳绩!

当今社会世界经济一体化趋势逐渐明朗化,竞争也愈发激烈,同时,这也是一个机遇与挑战并存的开放社会。在机遇面前,作为企业,要紧紧抓住机遇,顺势而为,创造辉煌佳绩;在挑战面前&#xf…

嵌入式 C语言/C++ 常见笔试、面试题 难疑点汇总(经典100道)

#pragma comment。将一个注释记录放置到对象文件或可执行文件中。 #pragma pack。用来改变编译器的字节对齐方式。 #pragma code_seg。它能够设置程序中的函数在obj文件中所在的代码段。如果未指定参数,函数将放置在默认代码段.text中 #pragma once。保证所在文件只…

MySQL软件常见操作

1登录MySQL 登录,如果你配置了环境变量就可以winr,在运行框输入cmd,输入登录命令 第一种:直接输入密码 mysql -uroot -p(你的密码没有有括号) 第二种不直接输入密码 mysql -uroot -p 前面两种都是localhost登录 下面是完整版 m…

slam定位学习笔记(七)-g2o学习

主要学习的是这篇文章,但大佬并没有在文章里面仔细的讲g2o,所以我在网上找了这几篇介绍g2o的文章,讲的十分详细,对入门十分友好:文章一、文章二、文章三,这三篇都是一个作者写的,主要是针对编程…