常见ESP32开发版

市面上大部分开发版是基于 ESP32-S 和 ESP32-WROOM模组制造而成,本专栏都适用

  • NodeMCU-32S

ESP32-WROOM
NodeMCU-32S

  • ESP32-DevKitC

ESP32-DevKitC

  • 自己画的
    DIY

芯片规格

  • 双核32位MCU
  • 集成WIFI 和蓝牙
  • 时钟频率高达240MHz,512K的RAM
  • 丰富的外设:ADC,DAC,UART,SPI,IIC,I2S,电容式触摸…
  • 内置霍尔传感器和温度传感器
  • 根据不同厂商制作的开发版一般引出来的IO口有30个或其他数量

引脚介绍

ESP32 芯片有 48 个引脚,绝大多数引脚具有多种功能。但并不是所有的开发版引脚都留出来,有些引脚是不能使用的,在发开的过程中需要注意。下图是引脚功能展示图
在这里插入图片描述
*需要注意复位时输出PWM信号的引脚,避免这些引脚连接到舵机等通过PWM信号驱动的元件。

GPIO输入输出备注
0上拉,复位时输出PWM信号
1X串口TX ,复位时输出调试信息
2大部分开发版连接到板载LED
3X串口RX,复位时为高电平
4-
5复位时输出PWM信号
6xx连接SPI闪存,不可使用
7xx连接SPI闪存,不可使用
8xx连接SPI闪存,不可使用
9xx连接SPI闪存,不可使用
10xx连接SPI闪存,不可使用
11xx连接SPI闪存,不可使用
12如果在通电、复位时为高电平可能会启动失败
13-
14复位时输出PWM信号
15复位时输出PWM信号
16-
17-
18-
19-
21-
22-
23-
25-
26-
27-
32-
33-
34x只能为输入
35x只能为输入
36x只能为输入
39x只能为输入

电容式触摸 GPIO

ESP32 有 10 个内部电容式触摸传感器。这些可以感知任何带有电荷的东西的变化,比如人类皮肤。因此,他们可以检测用手指触摸 GPIO 时引起的变化。
相关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 个 12 位 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)

!注:使用 Wi-Fi 时不能使用 ADC2 引脚!!,ESP32的ADC是12位的分辨率,也可以通过程序设置,具体使用在后面介绍

数模转换器 (DAC)

ESP32 上有 2 个 8 位 DAC 通道,用于将数字信号转换为模拟电压信号输出。具体使用在后面介绍

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO

ESP32 支持 RTC GPIO。当 ESP32 处于深度睡眠状态时,这些 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)

PWM

除了IO34、IO35、IO36、IO39,其他GPIO均可作为PWM引脚,具体使用在以后介绍

I2C

ESP32 有两个 I2C 通道,任何引脚都可以设置为 SDA 或 SCL。在 Arduino IDE 中使用 ESP32 时,具体使用在后面介绍,默认的 I2C 引脚为:

  • GPIO21 (SDA)
  • GPIO22 (SCL)

SPI

默认情况下,具体使用在后面介绍,SPI 的引脚映射为:

SPIMOSIMISOCLKCS
VSPIGPIO23GPIO19GPIO18GPIO5
HSPIGPIO13GPIO12GPIO14GPIO15

中断

所有GPIO均可设置为中断,具体使用在后面介绍

GPIO电流

根据 ESP32 数据手册中的“推荐工作条件”说明,每个 GPIO 消耗的绝对最大电流为 40mA

复位

EN 引脚,正常通过电阻上拉,如果EN为低则芯片被禁用。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐