LCD屏入门(基于ESP32)

主要参考资料:
B站【乐鑫全球开发者大会】DevCon23 #17 |HMI 智能屏解决方案

目录

  • 1.LCD屏幕硬件层
  • 2.LVGL驱动层

1.LCD屏幕硬件层

MCU常用的驱动接口在下面,大致可以划分为串口屏和并口屏。
串口屏相较于并行屏优势是占用IO少,相应地数据传输带宽也低。
SPI有标准SPI和QSPI之分,具体可以看链接: https://blog.csdn.net/wangguchao/article/details/105593303

在这里插入图片描述

ESP-BOX的LCD就是采用的SPI接口。
在这里插入图片描述

2.LVGL驱动层

在ESP-BOX代码中,components/lvgl/lvgl_port已经封装好了显示设备和输入设备的驱动,因此我们可以直接开始调用lvgl,也就是直接操作APP层。

在这里插入图片描述

在LVGL_port的初始化代码中可以看到分别对lcd初始化、port_display初始化和port_indevice初始化。

esp_err_t lv_port_init(void)
{/* Initialize LVGL library */lv_init();/* Register display for LVGL */ESP_ERROR_CHECK(bsp_lcd_init());lv_port_disp_init();/* Register input device for LVGL*/ESP_ERROR_CHECK(indev_init_default());lv_port_indev_init();/* Initialize LVGL's tick source */lv_port_tick_init();/* Nothing error */return ESP_OK;
}

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

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

相关文章

【oracle】Oracle RAC中的GNS到底是什么?

本文为云贝教育 刘峰 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载 一、概述 Oracle Grid Naming Service (GNS) 是Oracle Grid Infrastructure的一个重要组件,它提供了一种集中式的命名服务&…

[机缘参悟-191] - 《道家-水木然人间清醒1》读书笔记 -14- 关系界限 - 经济和人格上的独立,走向成熟的必经之路,才能更好的谈其他情感(IT)

目录 前言: 1、“友善的孤独者” 2、“外向的孤独者” 3、道不同不相为谋 4、警惕依赖 5、完整独立的个体 6、不必纠正他人的错误,除非他影响了你 7、不再期待别人能理解自己,只有高维向下兼容你的人才能理解你 8、只有高维和同频的…

ChatGPT魔法,定制个性化提示词!

扮演Prompt创作者的角色 我想让你成为我的Prompt创作者。你的目标是帮助我创建最佳的Prompt,这个Prompt将由 你ChatGPT使用。 你将遵循以下过程: 1.首先,你会问我Prompt是关于什么的。我会告诉你,但我们需要通过不断的重复来改进…

jQuery下载教程

官网&#xff1a;https://jquery.com/ ** ** 点击为压缩版本 将网站打开 界面上邮件保存为js文件即可 在html文件中引入即可 <html> <head></head> <body><script src"./js/jquery-3.6.3.js"> </script> </body> <…

使用Arrow管理数据

在之前的数据挖掘&#xff1a;是时候更新一下TCGA的数据了推文中&#xff0c;保存TCGA的数据就是使用Arrow格式&#xff0c;因为占空间小&#xff0c;读写速度快&#xff0c;多语言支持&#xff08;我主要使用的3种语言都支持&#xff09; Format https://arrow.apache.org Ap…

JDK9-21新特性概览(持续更新)

JDK9-21新特性概览 一、JDK9新特性1.1 JEP 102: Process API Updates简介案例风险 1.2 JEP 193: Variable Handles简介案例风险 1.3 JEP 200: The Modular JDK简介案例风险 1.4 JEP 213: Milling Project Coin简介案例1.1 try-with-resources增强1.2 接口中私有方法 1.5 JEP 22…

SpringBoot实现接口防抖的几种方案,杜绝重复提交

插&#xff1a; AI时代&#xff0c;程序员或多或少要了解些人工智能&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家(前言 – 人工智能教程 ) 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家…

一个与 WSL2 建立远程的简单方法

前言 众所周知&#xff0c;windows 会通过虚拟交换机给本机和 wsl2&#xff08;Linux 子系统&#xff09;分别分配 ip。于是本机重启或重启 wsl 服务的时候会重新分配 ip。之前所作的端口转发&#xff0c;监听之类的都会失效。而如果你搜索 “如何固定 wsl 的 ip”&#xff0c;…

GB-T 43694-2024 网络安全技术 证书应用综合服务接口规范

编写背景 随着网络技术的发展和信息化进程的加速&#xff0c;网络安全问题日益凸显。为了加强网络安全管理&#xff0c;提升网络服务的安全性和可靠性&#xff0c;GB-T 43694-2024《网络安全技术 证书应用综合服务接口规范》应运而生。这份文件是 网络安全领域的标准之一&…

RK3568平台(camera篇)V4L2查询获取设置设备

一.查询设备能力VIDIOC_QUERYCAP struct v4l2_capability cap; ioctl(fd, VIDIOC_QUERYCAP, &cap) struct v4l2_capability 结构体描述了视频采集设备的 driver 信息。 struct v4l2_capability { __u8 driver[16]; // 驱动名字 __u8 card[32]; // 设备名字 __u8 bus_inf…

详解makefile中的foreach

在 Makefile 中&#xff0c;foreach 函数用于迭代处理一个以空格分隔的列表&#xff0c;并针对列表中的每个元素执行相同的操作。这个函数通常用于循环处理一组变量或文件名&#xff0c;并执行相同的规则或命令。 语法&#xff1a; makefile Copy Code $(foreach var, list, …

虚拟存储器:突破物理内存限制

目录 1. 基本概念 1.1 逻辑地址空间与物理地址空间 1.2 地址转换机制 2. 页式虚拟存储器 优点 缺点 3. 段式虚拟存储器和段页式虚拟存储器 段式虚拟存储器 段页式虚拟存储器 4. 虚存的替换算法 1. 概述 2.1 最近最久未使用&#xff08;LRU&#xff09;算法 2.2 最…

ThingsBoard物联网网关在智慧城市数据采集中的应用

智慧城市由监控中心、采集网关、前端采集设备、前端感应执行器组成。 为何选用ThingsBoard作为平台 监控中心为物联网平台&#xff0c;该平台包含云计算、大数据、人工智能、物联网、GIS、云安全等主要模块&#xff0c;具备数据采集、数据交换、超大规模计算、数据分析、数据应…

Typescript interface对象赋值引用还是拷贝的问题

在 TypeScript 中&#xff0c;将一个接口对象赋值给另一个变量时&#xff0c;实际上是传递引用而不是进行数据拷贝。也就是说&#xff0c;两个变量都引用同一个对象&#xff0c;因此对其中一个变量进行修改会影响到另一个变量。 示例 假设我们有一个接口 FontSizeEntity&…

防火墙如何端口映射?

防火墙端口映射&#xff08;Firewall Port Mapping&#xff09;是一种网络技术&#xff0c;通过对防火墙配置进行调整&#xff0c;允许外部网络用户访问内部网络中的指定端口。该技术使得外部用户可以通过公共网络访问内部网络中的特定服务或应用程序&#xff0c;从而实现远程访…

难兄难弟——Java中 goto 与 const关键字

目录 简洁版&#xff1a; 详解版&#xff1a; 一&#xff1a;goto 二&#xff1a;const 简洁版&#xff1a; 1&#xff1a; 在Java中&#xff0c;goto也是一个关键字&#xff0c;但是取消了goto的使用&#xff0c;使用循环标记进行代替&#xff1b; 2&#xff1a;在Java中&a…

Microsoft VBA Excel 去重+自动化配对信息

问题场景 A列数据中存在很多特别的情况&#xff1a; 中间分隔符为“/”&#xff0c;但是分隔符前后可能存在空格一个编号可能出现多次&#xff0c;例如示例中6003出现了5次可能为空&#xff0c;虽然节选的这部分没出现这种情况 B和C列数据中&#xff0c;会出现空格。 ABC60…

JavaScript--作用域是什么

作用域是什么 编译原理 在传统的编译语言中&#xff0c;程序中的一段源代码在执行之前会经历三个步骤。成为编译 分词/词法分析 这个过程由字符组成的字符串分解成有意义的代码块&#xff0c;这些代码块成为词法单元。 分词和词法分析之间的主要差异在于词法单元的识别是有…

实战指南:Vue 2基座 + Vue 3 + Vite + TypeScript微前端架构实现动态菜单与登录共享

实战指南&#xff1a;Vue 2基座 Vue 3 Vite TypeScript子应用vue2微前端架构实现动态菜单与登录共享 导读&#xff1a; 在当今的前端开发中&#xff0c;微前端架构已经成为了一种流行的架构模式。本文将介绍如何结合Vue 2基座、Vue 3子应用、Vite构建工具和TypeScript语言…

基于Docker的ROS开发

本文主要介绍如何使用Docker在Windows和Linux环境中部署并使用ROS&#xff0c;通过Docker Container运行ROS&#xff0c;可以方便我们在一个本地环境中运行多个ROS版本。 更多内容&#xff0c;访问专栏目录获取实时更新。 关于ROS的版本 参考ROS1 Distribution Wiki和ROS2 Dis…