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…

芒果YOLOv5改进94:检测头篇DynamicHead为目标检测统一检测头:即插即用|DynamicHead检测头,尺度感知、空间感知、任务感知

该专栏完整目录链接: 芒果YOLOv5深度改进教程 该创新点:在原始的Dynamic Head的基础上,对核心部位进行了二次的改进,在 原论文 《尺度感知、空间感知、任务感知》 的基础上,在 通道感知 的层级上进行了增强,关注每个像素点的比重。 在自己的数据集上改进,有效涨点就可以…

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;并设置开机自启动 三、访问用户操作界面 一、点击进入…

二手车价格预测第十三名方案总结

代码开源链接&#xff1a;GitHub - wujiekd/Predicting-used-car-prices: 阿里天池与Datawhale联合举办二手车价格预测比赛&#xff1a;优胜奖方案代码总结 比赛介绍 赛题以二手车市场为背景&#xff0c;要求选手预测二手汽车的交易价格&#xff0c;这是一个典型的回归问题。…

C++简单日志系统

需求描述 日志等级&#xff1a;定义一个枚举类型 LogLevel&#xff0c;包含至少四个等级&#xff1a;DEBUG、INFO、WARNING、ERROR。日志记录&#xff1a;实现一个 Logger 类&#xff0c;包含以下功能&#xff1a; 一个静态方法 log&#xff0c;接受 LogLevel 和一个字符串作为…

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.…

一篇文章厘清C#中的lambda表达式

一篇文章厘清C#中的lambda表达式 链接: 源码 说C#的匿名函数,就要先说一下匿名函数. Lambda表达式 1 lambda表达式演变史1. **C# 1.0 (2002)**2. **C# 2.0 (2005)**3. **C# 3.0 (2007)**4. **C# 4.0及以后** 2 lambda表达式使用方法1 **基本语法**2 **使用场景和示例****作为…

第十三届蓝桥杯省赛CC++ 研究生组2.0

裁纸刀 #include<iostream> using namespace std; const int n 20, m 22; int main(){cout << 4 (n - 1) n * (m - 1);//443return 0; }抠出来&#xff08;上下左右&#xff09; 剪开行 每行分开 灭鼠先锋 #include<iostream> using namespace std; …

汽车标定技术(二十) -- 移植标定栈时主机厂、供应商应该做什么?(2)

目录 1.概述 1.1 考虑标定参数实现方式 1.2 A2L生成 2. 主机厂视角 3.小结 1.概述

【算法刷题day23】Leetcode:669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树

文章目录 Leetcode 669. 修剪二叉搜索树解题思路代码总结 Leetcode 108. 将有序数组转换为二叉搜索树解题思路代码总结 Leetcode 538. 把二叉搜索树转换为累加树解题思路代码总结 草稿图网站 java的Deque Leetcode 669. 修剪二叉搜索树 题目&#xff1a;669. 修剪二叉搜索树 解…