2、ESP-WROOM-32开发板笔记

ESP32 是乐鑫开发的一系列低成本、低功耗的片上系统微控制器,具有 Wi-Fi 和蓝牙无线功能以及双核处理器。

目录

一、特点

二、硬件内存

三、支持外设

四、引脚定义

        1、仅输入引脚

        2、SPI闪存

        3、电容式触摸 IO

        4、ADC

        5、DAC

        6、RTC GPIO

        7、PWM

        8、I2C

        9、SPI

        10、中断

        11、Strapping

        12、高电平 Boot 引脚

        13、EN引脚

        14、GPIO电流消耗

        15、霍尔效应传感器


一、特点

        低功耗:ESP32 与其他单片机相比功耗极低,支持深度睡眠等低功耗模式状态

        Wi-Fi 功能:ESP32 可以轻松连接到 Wi-Fi 网络以及互联网,或创建自己的 Wi-Fi 无线网络,可以使用多个设备的 Wi-Fi 功能相互通信

        蓝牙:ESP32 支持经典蓝牙和低功耗蓝牙,适用于各种物联网应用

        双核:大多数 ESP32 都是双核的,配备了 2 个 Xtensa 32 位 LX6 微处理器,运行频率为 160 或 240 MHz

        丰富的外设接口:ESP32 支持多种输入和输出外设,如电容式触摸、ADC、DAC、UART、SPI、I2C、PWM

        兼容Arduino编程

        兼容 MicroPython


二、硬件内存

        ROM: 448 KB(用于启动和运行)

        SRAM:520 KB(用于数据和指令)

        RTC 快速 SRAM:8 KB(用于从深度睡眠模式启动 RTC 期间的数据存储和主 CPU)

        RTC 慢速 SRAM:8KB(用于深度睡眠模式下的协处理器访问)

        eFuse:1 Kb(其中 256 位用于系统(MAC 地址和芯片配置),其余 768 位保留用于客户应用,包括 Flash-Encryption 和 Chip-ID)

        嵌入式闪存:通过 ESP32-D2WD 和 ESP32-PICO-D4 上的 IO16、IO17、SD_CMD、SD_CLK、SD_DATA_0 和 SD_DATA_1 内部连接的闪存。

        0 MiB(ESP32-D0WDQ6、ESP32-D0WD 和 ESP32-S0WD 芯片)

        2 MiB (ESP32-D2WD 芯片)

        4 MiB(ESP32-PICO-D4 SiP 模组)


三、支持外设

        18 个模数转换器 (ADC) 通道

        3 个 SPI 接口

        3 个 UART 接口

        2 个 I2C 接口

        16 个 PWM 输出通道

        2 个数模转换器 (DAC)

        2 个 I2S 接口

        10 个电容式感应 GPIO


四、引脚定义

        1、仅输入引脚

                GPIO 34 至 GPIO 39 没有内部上拉或下拉电阻,它们只能用作输入,不能用作输出。

        2、SPI闪存

                GPIO 6 至 GPIO 11 连接到 ESP-WROOM-32 芯片上的集成 SPI 闪存,不建议用于其他用途。

        3、电容式触摸 IO

                ESP32 具有 10 个内置电容式触摸传感器。它们可以感知任何带有电荷的东西的变化,可以检测用手指触摸GPIO时引起的变化。这些引脚可以集成到电容焊盘中取代机械按钮,也可用于 ESP32 从深度睡眠中唤醒

                T0 (GPIO 4)

                T1 (GPIO 0)

                T2 (GPIO 2)

                T3 (GPIO 15)

                T4 (GPIO 13)

                T5 (GPIO 12)

                T6 (GPIO 14)

                T7 (GPIO 27)

                T8 (GPIO 33)

                T9 (GPIO 32)

        4、ADC

                ESP32 具有 18 x 12 位 ADC 输入通道,12位分辨率可以获得从 0 到 4095 的模拟读数,其中 0 对应 0V,4095 对应 3.3V。还可以在代码和ADC范围上设置通道的分辨率。

                注意ADC 引脚没有线性行为。

                注意使用 Wi-Fi 时不能使用 ADC2 引脚。

                ADC1_CH0 (GPIO 36)

                ADC1_CH1 (GPIO 37)

                ADC1_CH2 (GPIO 38)

                ADC1_CH3 (GPIO 39)

                ADC1_CH4 (GPIO 32)

                ADC1_CH5 (GPIO 33)

                ADC1_CH6 (GPIO 34)

                ADC1_CH7 (GPIO 35)

                ADC2_CH0 (GPIO 4)

                ADC2_CH1 (GPIO 0)

                ADC2_CH2 (GPIO 2)

                ADC2_CH3 (GPIO 15)

                ADC2_CH4 (GPIO 13)

                ADC2_CH5 (GPIO 12)

                ADC2_CH6 (GPIO 14)

                ADC2_CH7 (GPIO 27)

                ADC2_CH8 (GPIO 25)

                ADC2_CH9 (GPIO 26)

        5、DAC

                ESP32 上有 2 x 8 位 DAC 通道,用于将数字信号转换为模拟电压信号输出。

                DAC1 (GPIO25)

                DAC2 (GPIO26)

        6、RTC GPIO

                当 ESP32 处于深度睡眠状态时,可以使用路由到 RTC 低功耗子系统的 GPIO。当超低功耗 (ULP) 协处理器运行时,这些 RTC GPIO 可用于将 ESP32 从深度睡眠中唤醒

                RTC_GPIO0 (GPIO36)

                RTC_GPIO3 (GPIO39)

                RTC_GPIO4 (GPIO34)

                RTC_GPIO5 (GPIO35)

                RTC_GPIO6 (GPIO25)

                RTC_GPIO7 (GPIO26)

                RTC_GPIO8 (GPIO33)

                RTC_GPIO9 (GPIO32)

                RTC_GPIO10 (GPIO4)

                RTC_GPIO11 (GPIO0)

                RTC_GPIO12 (GPIO2)

                RTC_GPIO13 (GPIO15)

                RTC_GPIO14 (GPIO13)

                RTC_GPIO15 (GPIO12)

                RTC_GPIO16 (GPIO14)

                RTC_GPIO17 (GPIO27)

        7、PWM

                ESP32 LED PWM 控制器具有 16 个独立通道,可配置为生成具有不同属性的 PWM 信号。所有可以用作输出的引脚都可以用作PWM引脚(GPIO 34至39不能产生PWM)。

                设置PWM信号,需要定义信号频率、占空比、PWM通道、要输出信号的 GPIO。

        8、I2C

                ESP32 有两个 I2C 通道,任何引脚都可以设置为 SDA 或 SCL。ESP32 与 Arduino IDE 配合使用时默认的 I2C 引脚为:GPIO 21 (SDA)、GPIO 22 (SCL)。

                如果想使用其他引脚,调用:Wire.begin(SDA, SCL);

        9、SPI

                默认 SPI 的引脚映射为:

SPIMOSIMISOCLKCS
VSPIGPIO 23GPIO 19GPIO 18GPIO 5
HSPIGPIO 13GPIO 12GPIO 14GPIO 15

        10、中断

                所有GPIO都可以配置为中断

        11、Strapping

                Strapping 引脚用于将 ESP32 置于引导加载程序或闪烁模式。大多数内置 USB/串口的开发板上,无需担心这些引脚的状态。但如果外围设备连接到这些引脚,则在代码烧录、刷新固件或复位开发板时可能会遇到问题。

                GPIO 0(必须为低电平才能进入启动模式)

                GPIO 2(启动期间必须为浮动或低电平)

                GPIO 4

                GPIO 5(启动期间必须为高电平)

                GPIO 12(启动期间必须为低电平)

                GPIO 15(启动期间必须为高电平)

        12、高电平 Boot 引脚

                一些 GPIO 在启动或复位时将其状态改为高电平或输出 PWM,如果外设连接到这些 GPIO,在 ESP32 复位或启动时可能出现问题。

                GPIO 1

                GPIO 3

                GPIO 5

                GPIO 6 至 GPIO 11(集成 SPI 闪存)

                GPIO 14

                GPIO 15

        13、EN引脚

                EN 是 3.3V 稳压的使能引脚。使用被拉起,接地禁用稳压。

        14、GPIO电流消耗

                ESP32 每个 GPIO 消耗的绝对最大电流为 40mA。

        15、霍尔效应传感器

                ESP32 内置霍尔效应传感器,可检测周围磁场的变化。

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

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

相关文章

时间复杂度详解2——时间复杂度的计算

时间复杂度基本计算规则: 基本操作即只有常数项,认为其时间复杂度为O(1)顺序结构,时间复杂度按加法进行计算循环结构,时间复杂度按乘法进行计算分支结构,时间复杂度取最大值判断一个算法效率时,往往只需要…

第十二届蓝桥杯大赛软件赛省赛Java 大学 B 组题解

1、ASC public class Main {public static void main(String[] args) {System.out.println(

LeetCode- 合并两个有序数组

题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并…

Java | Leetcode Java题解之第17题电话号码的字母组合

题目&#xff1a; 题解&#xff1a; class Solution {public List<String> letterCombinations(String digits) {List<String> combinations new ArrayList<String>();if (digits.length() 0) {return combinations;}Map<Character, String> phoneM…

Linux的学习之路:7、yum与git

摘要 本章主要是说一下yum和git的操作 目录 摘要 一、什么是yum 二、yum三板斧 1、list 2、install 3、remove 三、怎么创建仓库 四、git三板斧 1、add 2、commit 3、push 4、pull 五、思维导图 一、什么是yum YUM是Yellowdog Updater Modified的简称&#xf…

Github 2024-04-12 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6TypeScript项目2Cuda项目1C++项目1C项目1HTML项目1Jupyter Notebook项目1JavaScript项目1Python - 100天从新手到大师 创建周期:22…

unity_Button:单击的三种实现方式

1.针对特定单个按钮 此代码直接绑定到button上面无需其他操作 using UnityEngine; using UnityEngine.UI;public class PrintHelloOnButtonClick : MonoBehaviour {private Button button;void Start(){// 获取当前GameObject上的Button组件button GetComponent<Button&g…

CTF-SHOW SSRF

web351 存在一个flag.php页面&#xff0c;访问会返回不是本地用户的消息&#xff0c;那肯定是要让我们以本地用户去访问127.0.0.1/flag.php web352 代码中先判断是否为HTTP或https协议&#xff0c;之后判断我们传入的url中是否含有localhost和127.0.0&#xff0c;如果没有则…

VulnHub靶机-easy_cloudantivirus 打靶

easy_cloudantivirus 靶机 目录 easy_cloudantivirus 靶机一、导入虚拟机配置二、攻击方式主机发现端口扫描web渗透-SQL注入命令注入反弹shellssh爆破提权 一、导入虚拟机配置 靶机地址&#xff1a; https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/下载完成&am…

Docker 安装RabbitMQ以及使用客户端图形化界面

目录 一、点击进入docker 镜像仓库 1.1 直接在官网里 搜索 rabbitmq 1.2 在标签里 直接搜索3.10-management 因为这个标签包含用户操作界面 二、启动docker 2.1 首先拉取镜像&#xff1a; 2.2 Docker运行&#xff0c;并设置开机自启动 三、访问用户操作界面 一、点击进入…

PTA(题目集二 题目 代码 C++)

目录 题目一&#xff1a; 代码&#xff1a; 题目二&#xff1a; 代码&#xff1a; 题目三&#xff1a; 代码&#xff1a; 题目四&#xff1a; 代码&#xff1a; 题目五&#xff1a; 代码&#xff1a; 题目六&#xff1a; 代码&#xff1a; 题目七&#xff1a; 代…

python中time库的time.time()函数的作用是什么?

python中time库的time.time()函数的作用是什么&#xff1f; 作用&#xff1a;Python time time() 返回当前时间的时间戳&#xff08;1970纪元后经过的浮点秒数&#xff09;。 time()方法语法&#xff1a;time.time() #!/usr/bin/python # Write Python 3 code in this onlin…

Windows10 19c单例数据库补丁升级方案

一、环境说明&#xff1a; 名称内容系统版本Windows10数据库版本19.3.0.0.0SIDorcl 二、配置OPatch 2.1.解压OPatch --解压至$ORACLE_HOME位置 2.2.查看版本 --命令 OPatch version 三、准备打补丁 3.1.解压补丁文件 --解压 unzip p35962832_190000_MSWIN-x86-64.zip 3.2.…

【DM8】AWR报告

sys.WRM$_WR_CONTROL记录快照的相关控制信息 sys.wrm $_snapshot记录快照的相关信息 1.初始化awr快照包 创建或删除DBMS_WORKLOAD_REPOSTORY系统包为1的时候开启&#xff0c;0的时候关闭 SELECT sf_check_awr_sys; sp_init_awr_sys(1);2.设置时间 –间隔10min一次 CALL dbms_…

未来汽车硬件安全的需求(1)

目录 1.概述 2.EVITA 2.1 EVITA HSM 2.2 EVITA保护范围 3.市场变化对车载网络安全的影响 3.1 非侵入式攻击的风险 3.2 量子计算机的蛮力攻击 3.3 整车E/E架构的变化 3.4 网络安全标准和认证 3.5 汽车工业的网络安全措施 4.汽车安全控制器 4.1 TPM2.0 4.2 安全控…

CLIP模型入门

简介 CLIP&#xff08;Contrastive Language-Image Pre-Training&#xff09;是OpenAI在2021年初发布的多模态预训练神经网络模型&#xff0c;用于匹配图像和文本。该模型的关键创新之一是将图像和文本映射到统一的向量空间&#xff0c;通过对比学习的方式进行预训练&#xff…

运用OSI模型提升排错能力

1. OSI模型有什么实际的应用价值&#xff1f; 2. 二层和三层网络的区别和应用&#xff1b; 3. 如何通过OSI模型提升组网排错能力&#xff1f; -- OSI - 开放式系统互联 - 一个互联标准 - 从软件和硬件 定义标准 - 不同厂商的设备 研发的技术 - 具备兼容性 -- O…

知识图谱入门到实战之1.知识图谱基础

知识图谱基础 1.为什么要用知识图谱2.知识图谱的前世今生&#xff08;1&#xff09;发展脉络&#xff08;2&#xff09;发展阶段&#xff08;3&#xff09;知识图谱定义&#xff08;4&#xff09;知识类型&#xff08;5&#xff09;常见的开源知识图谱 3.知识图谱的相关技术&am…

拥有一台阿里云服务器可以做什么?

阿里云ECS云服务器可以用来做什么&#xff1f;云服务器可以用来搭建网站、爬虫、邮件服务器、接口服务器、个人博客、企业官网、数据库应用、大数据计算、AI人工智能、论坛、电子商务、AI、LLM大语言模型、测试环境等&#xff0c;云服务器吧yunfuwuqiba.com整理阿里云服务器可以…

2024/4/5—力扣—下一个排列

代码实现&#xff1a; 思路&#xff1a;两遍扫描 void swap(int *a, int *b) {int t *a;*a *b;*b t; }void reverse(int *nums, int l, int r) {while (l < r) {swap(nums l, nums r);l;r--;} }void nextPermutation(int *nums, int numsSize) {int i numsSize - 2;wh…