【ESP32最全学习笔记(基础篇)——4.ESP32 引脚介绍】

这篇具有很好参考价值的文章主要介绍了【ESP32最全学习笔记(基础篇)——4.ESP32 引脚介绍】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于本教程:

ESP32 基础篇                                

1.ESP32简介                                                                

2.ESP32 Arduino 集成开发环境

3.VS 代码和 PlatformIO

4.ESP32 引脚 ☑ 

5.ESP32 输入输出

6.ESP32 脉宽调制

7.ESP32 模拟输入

8.ESP32 中断定时器

9.ESP32 深度睡眠

ESP32 协议篇

ESP32 网络服务器

ESP32 LoRa

ESP32 BLE

ESP32 BLE 客户端-服务器

ESP32 蓝牙

ESP32 MQTT

ESP32 ESP-NOW

ESP32 Wi-Fi

ESP32 WebSocket

ESP32 ESP-MESH

ESP32 邮箱

ESP32 短信

ESP32 HTTP 获取 POST

HTTP GET Web APIs

HTTP POST Web APIs

 ESP32 服务器篇

持续更新,关注博主不迷路!!!

 ESP32 传感器模块篇

持续更新,关注博主不迷路!!!

ESP32 终极实战篇

百余项ESP32实战项目,敬请关注!!!

ESP32 芯片有 48 个引脚,具有多种功能。并不是所有的 ESP32 开发板的管脚都是外露的,有些管脚是不能用的。

关于如何使用 ESP32 GPIO 的问题很多。你应该使用什么引脚?您应该避免在项目中使用哪些引脚?这篇文章旨在成为 ESP32 GPIO 的简单易懂的参考指南。

下图说明了 ESP-WROOM-32 的引脚排列。如果您使用ESP32 裸芯片构建定制板,您可以将其用作参考:

esp32引脚,ESP32学习笔记,ESP32,单片机,物联网,嵌入式硬件,学习

         注意:并非所有开发板都可以访问所有 GPIO,但无论您使用哪种开发板,每个特定 GPIO 的工作方式都相同。如果您刚刚开始使用 ESP32,我们建议您阅读我们的指南:ESP32 开发板入门

esp32引脚,ESP32学习笔记,ESP32,单片机,物联网,嵌入式硬件,学习

 ESP32 外设

ESP32 外设包括:

18 个模数转换器 (ADC) 通道
3个SPI接口
3个UART接口
2个I2C接口
16个PWM输出通道
2 个数模转换器 (DAC)
2个I2S接口
10 个电容式感应 GPIO

         ADC(模数转换器)和 DAC(数模转换器)功能分配给特定的静态引脚。但是,您可以决定哪些引脚是 UART、I2C、SPI、PWM 等——您只需在代码中分配它们即可。由于 ESP32 芯片的多路复用功能,这是可能的。

        虽然您可以在软件上定义管脚属性,但默认分配的管脚如下图所示(这是ESP32 DEVKIT V1 DOIT 板的 36 管脚示例- 管脚位置可能会因制造商而异)。

esp32引脚,ESP32学习笔记,ESP32,单片机,物联网,嵌入式硬件,学习

        此外,还有一些具有特定功能的管脚,使它们适合或不适合特定项目。下表显示了哪些引脚最适合用作输入、输出以及您需要注意哪些引脚。

        以绿色突出显示的引脚可以使用。黄色高亮的是可以使用的,但是你需要注意,因为它们可能主要在启动时有意想不到的行为。不建议将以红色突出显示的引脚用作输入或输出。

GPIO Input Output 说明
0 pulled up OK 开机时输出 PWM 信号,必须为 LOW 才能进入闪烁模式
1 TX pin OK 开机调试输出
2 OK OK 连接到板载 LED,必须悬空或处于低电平才能进入闪烁模式
3 OK RX pin 开机时高
4 OK OK
5 OK OK 在启动时输出 PWM 信号,捆扎引脚
6 x x 连接到集成 SPI 闪存
7 x x 连接到集成 SPI 闪存
8 x x 连接到集成 SPI 闪存
9 x x 连接到集成 SPI 闪存
10 x x 连接到集成 SPI 闪存
11 x x 连接到集成 SPI 闪存
12 OK OK 如果拉高,则启动失败,捆扎针
13 OK OK
14 OK OK 开机输出PWM信号
15 OK OK 在启动时输出 PWM 信号,捆扎引脚
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK
35 OK
36 OK
39 OK

继续阅读以获取对 ESP32 GPIO 及其功能的更详细和深入的分析。

仅输入引脚

GPIO 34 到 39 是 GPI——仅输入引脚。这些引脚没有内部上拉或下拉电阻。它们不能用作输出,因此只能将这些引脚用作输入:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

ESP-WROOM-32 上集成的 SPI 闪存

部分 ESP32 开发板暴露了 GPIO 6 到 GPIO 11。但是,这些引脚连接到 ESP-WROOM-32 芯片上的集成 SPI 闪存,不建议用于其他用途。所以,不要在你的项目中使用这些引脚:

  • GPIO 6 (SCK/时钟)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

电容式触摸 GPIO

        ESP32 有 10 个内部电容式触摸传感器。它们可以感知任何带电荷的物体的变化,比如人体皮肤。因此,他们可以检测到用手指触摸 GPIO 时引起的变化。这些引脚可以很容易地集成到电容垫中并取代机械按钮。电容式触摸引脚也可用于将ESP32 从深度睡眠中唤醒

这些内部触摸传感器连接到这些 GPIO:

  • 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)

模数转换器 (ADC)

ESP32 有 18 x 12 位 ADC 输入通道(而ESP8266 只有 1x 10 位 ADC)。这些是可用作 ADC 和相应通道的 GPIO:

  • 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)

 了解如何使用 ESP32 ADC 引脚:

带 Arduino IDE 的 ESP32 ADC 引脚
带有 MicroPython 的 ESP32 ADC 引脚

注意:使用 Wi-Fi 时不能使用 ADC2 引脚。因此,如果您使用 Wi-Fi 并且无法从 ADC2 GPIO 获取值,您可以考虑改用 ADC1 GPIO。那应该可以解决您的问题。

ADC 输入通道具有 12 位分辨率。这意味着您可以获得 0 到 4095 范围内的模拟读数,其中 0 对应 0V,4095 对应 3.3V。您还可以根据代码和 ADC 范围设置通道的分辨率。

ESP32 ADC 引脚没有线性行为。您可能无法区分 0 和 0.1V,或 3.2 和 3.3V。使用 ADC 引脚时需要牢记这一点。您将获得类似于下图中所示的行为。

esp32引脚,ESP32学习笔记,ESP32,单片机,物联网,嵌入式硬件,学习

数模转换器 (DAC)

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

  • DAC1 (GPIO25)
  • DAC2(GPIO26)

RTC GPIO

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

  • 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)

脉宽调制

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

要设置 PWM 信号,您需要在代码中定义这些参数:

  • 信号频率;
  • 占空比;
  • 脉宽调制通道;
  • 要输出信号的 GPIO。

I2C接口

ESP32 有两个 I2C 通道,任何引脚都可以设置为 SDA 或 SCL。将 ESP32 与 Arduino IDE 一起使用时,默认的 I2C 引脚为:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

如果在使用线库的时候还想使用其他管脚,只需要调用:

Wire.begin(SDA, SCL);

SPI接口

默认情况下,SPI 的引脚映射为:

esp32引脚,ESP32学习笔记,ESP32,单片机,物联网,嵌入式硬件,学习

中断

所有 GPIO 都可以配置为中断。

开机时引脚为高电平

一些 GPIO 在启动或复位时将其状态更改为高电平或输出 PWM 信号。这意味着如果您将输出连接到这些 GPIO,您可能会在 ESP32 重置或启动时得到意想不到的结果。

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 到 GPIO 11(连接到 ESP32 集成 SPI 闪存 – 不建议使用)。
  • GPIO 14
  • GPIO 15

启用(EN)

启用 (EN) 是 3.3V 稳压器的启用引脚。它被拉高,所以接地以禁用 3.3V 稳压器。这意味着您可以使用连接到按钮的此引脚来重启 ESP32,例如。

消耗的 GPIO 电流

根据 ESP32 数据表中的“推荐工作条件”部分,每个 GPIO 消耗的绝对最大电流为 40mA。

ESP32 内置霍尔效应传感器

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

总结

         我们希望您发现本 ESP32 GPIO 参考指南很有用。如果您有更多关于 ESP32 GPIO 的技巧,请在下方留言分享。文章来源地址https://www.toymoban.com/news/detail-779662.html

到了这里,关于【ESP32最全学习笔记(基础篇)——4.ESP32 引脚介绍】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ESP32最全学习笔记(基础篇)——5.ESP32 数字输入和数字输出(Arduino IDE)】

    关于本教程: 1.ESP32简介                                                                 2.ESP32 Arduino 集成开发环境 3.VS 代码和 PlatformIO 4.ESP32 引脚 5.ESP32 输入输出 ☑ 6.ESP32 脉宽调制 7.ESP32 模拟输入 8.ESP32 中断定时器 9 .ESP32 深度睡眠 ESP32 网络

    2024年02月01日
    浏览(99)
  • 【ESP32最全学习笔记(基础篇)——7.ESP32 ADC – 使用 Arduino IDE 读取模拟值】

    关于本教程: 1.ESP32简介                                                                 2.ESP32 Arduino 集成开发环境 3.VS 代码和 PlatformIO 4.ESP32 引脚 5.ESP32 输入输出 6.ESP32 脉宽调制 7.ESP32 模拟输入 ☑ 8.ESP32 中断定时器 9 .ESP32 深度睡眠 ESP32 网络

    2023年04月15日
    浏览(50)
  • 【ESP32最全学习笔记(协议篇)——2.ESP32 LoRa】

    关于本教程: 1.ESP32简介                                                                 2.ESP32 Arduino 集成开发环境 3.VS 代码和 PlatformIO 4.ESP32 引脚 5.ESP32 输入输出 6.ESP32 脉宽调制 7.ESP32 模拟输入 8.ESP32 中断定时器 9 .ESP32 深度睡眠 1.ESP32 网络服

    2024年02月04日
    浏览(58)
  • 【ESP32入门教程】ESP32开发板原理图,引脚图,引脚功能,ESP WROOM 32,介绍ESP32硬件

    记录本人学习历程,同时也分享给大家学习,仅供参考! 模组共有38个管脚,具体描述如下。 1. GPIO6至GPIO11 引脚 控制集成在模组内部的SPI Flash, 不建议用于其他功能 。 SCK/CLK GPIO6 SDO/SD0 GPIO7 SDI/SD1 GPIO8 SHD/SD2 GPIO9 SWP/SD3 GPIO10 SCS/CMD GPIO11 2.Strapping 管脚 ESP32共有5个Strapping管脚,。

    2024年02月08日
    浏览(67)
  • ESP32 Arduino学习篇 (一) 引脚和串口的基本使用

    简单来讲arduino就是通过 源代码 控制开发板的信号输入输出从而实现对一些电子元件的控制,例如LED灯,蜂鸣器,按键 arduino程序 首先来讲arduino程序是基于C语言,而实现类似对于LED灯和蜂鸣器的简单控制只需简单C语言知识即可实现。arduino程序是基于函数的,而在arduino的库

    2024年02月02日
    浏览(51)
  • ESP32 引脚分配

    请注意,以下引脚分配参考适用于流行的 30 引脚 ESP32 devkit v1 开发板。 仅输入引脚 GPIO34~39是GPIs–仅输入的管脚。这些引脚没有内部上拉或下拉电阻。它们不能用作输出,因此只能将这些管脚用作输入:GPIO 34、GPIO 35、GPIO 36、GPIO 39 SPI闪存 GPIO 6~GPIO 11在一些ESP32开发板中是公

    2024年04月09日
    浏览(103)
  • ESP32 引脚分配参考

    ESP32 的优点之一是它比 ESP8266 拥有更多的 GPIO。您无需处理或复用 IO 引脚。但是,有一些事情需要记住,所以请仔细阅读引脚排列。 笔记: 请注意,以下引脚分配参考适用于流行的 30 引脚 ESP32 devkit v1 开发板。 并非每个 ESP32 开发板都会暴露每个引脚,但无论您使用哪种开发

    2024年01月20日
    浏览(44)
  • ESP32-WROOM-32 ESP32 wifi模块基本参数与引脚定义

    基本参数: WiFi 描述 标准 FCC/CE/TELEC/KCC/SRRC/NCC 协议 802.11 b/g/n/e/i (802.11n,速度高达150Mbps) A-MPDU和A-MSDU聚合,支持0.4μS防护间隔 频率范围 2.4GHz~2.5GHz(2400M~2483.5M) 蓝牙 描述 协议 符合蓝牙v4.2BR/EDR和BLE标准 射频 具有-98dBm灵敏度的NZIF接收器 Class-1,Class-2和Class-3发射器 AFH 音频 CVSD和

    2023年04月09日
    浏览(38)
  • ESP32 CAM GPIO引脚定义

    官方文档 ESP32-CAM摄像头开发板 | 安信可科技    注意: 1.请保证模块输入电源至少5V 2A,否则图片会有几率出现水纹。 2.ESP32 GPIO32管脚控制摄像头电源,当摄像头工作时,请把GPIO32拉低。 3.由于IO0连接摄像头XCLK,使用时请把IO0悬空,请勿接高低电平。 4. 出厂已含有默认固件,不

    2024年02月16日
    浏览(40)
  • ESP32(或ESP32CAM)使用PCA9685模块arduino,自定义I2C引脚

    文章目录 前言 一、PCA9685是什么? 二、使用步骤 1.引入库 2.接线 3.代码 4.讲解   舵机驱动板也可以生成PWM波控制LED等,但也仅仅只是一个驱动板,我们还需要一个控制板,ESP32是个不错的选择,ESP32CAM也是,但ESP32CAM没有引出I2C的引脚,需要自己去设置。  这个图是随便找的

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包