ESP32食用指南——ESP32-S3 DevKitC 引脚排列GPIO 详解

ESP32-S3 DevKitC 是搭载 ESP32-S3 芯片的热门开发板之一。该芯片共有 45 个引脚,其引脚排列与搭载 ESP-WROOM-32 芯片的开发板不同。本文将介绍 ESP32-S3 DevKitC 开发板的引脚排列,并解释其 GPIO 接口的不同功能。

ESP32-S3 外设

ESP32-S3 外设包括:

  • 20 个模数转换器 (ADC) 通道
  • 4个SPI接口
  • 3个UART接口
  • 2个I2C接口
  • 8个PWM输出通道
  • 2个I2S接口
  • 14 个电容式感应 GPIO

由于 ESP32 芯片具有复用功能,您可以将几乎任何功能分配给您选择的 GPIO。但是,默认情况下,有些引脚已分配功能。我们将在此引脚排列中对此进行介绍。

ESP32-S3 DevKitC-1 引脚排列

下图展示了 ESP32-S3 DevKitC-1 开发板的引脚排列,该开发板是搭载 S3 芯片的热门开发板之一。同一款开发板有多个版本,引脚排列略有不同。连接任何外设前,请务必仔细检查引脚位置和 GPIO 标签。

 

SPI 闪存和 PSRAM

GPIO 26 至 32 连接到集成 SPI 闪存和 PSRAM,不建议用于其他用途。本开发板未暴露这些 GPIO,但如果您的开发板暴露了这些 GPIO,请避免使用它们:

  • GPIO 26(闪存/PSRAM SPICS1)
  • GPIO 27(闪存/PSRAM SPIHD)
  • GPIO 28(闪存/PSRAM SPIWP)
  • GPIO 29(闪存/PSRAM SPICS0)
  • GPIO 30(闪存/PSRAM SPICLK)
  • GPIO 31(闪存/PSRAM SPIQ)
  • GPIO 32(闪存/PSRAM SPID)

电容式触摸 GPIO

ESP32-S3 拥有 14 个内部电容式触摸 GPIO。这些引脚可以感知任何带电物体(例如人体皮肤)的变化。因此,它们可以检测到手指触摸 GPIO 时引起的变化。这些引脚可以轻松集成到电容式触摸板上,并取代机械按键。电容式触摸引脚还可用于唤醒处于深度睡眠状态的 ESP32。

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

  • T1(GPIO 1)
  • T2(GPIO 2)
  • T3(GPIO 3)
  • T4(GPIO 4)
  • T5(GPIO 5)
  • T6(GPIO 6)
  • T7(GPIO 7)
  • T8(GPIO 8)
  • T9(GPIO 9)
  • T10(GPIO 10)
  • T11(GPIO 11)
  • T12(GPIO 12)
  • T13(GPIO 13)
  • T14(GPIO 14)

模数转换器 (ADC)

ESP32 具有 20 个 12 位 ADC 输入通道。以下是可用作 ADC 的 GPIO 及其相应的通道:

  • ADC1_CH0(GPIO 1)
  • ADC1_CH1(GPIO 2)
  • ADC1_CH2(GPIO 3)
  • ADC1_CH3(GPIO 4)
  • ADC1_CH4(GPIO 5)
  • ADC1_CH5(GPIO 6)
  • ADC1_CH6(GPIO 7)
  • ADC1_CH7(GPIO 8)
  • ADC1_CH8(GPIO 9)
  • ADC1_CH9(GPIO 10)
  • ADC2_CH0(GPIO 11)
  • ADC2_CH1(GPIO 12)
  • ADC2_CH2(GPIO 13)
  • ADC2_CH3(GPIO 14)
  • ADC2_CH4(GPIO 15)
  • ADC2_CH5(GPIO 16)
  • ADC2_CH6(GPIO 17)
  • ADC2_CH7(GPIO 18)
  • ADC2_CH8(GPIO 19)
  • ADC2_CH9(GPIO 20)

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

RTC GPIO

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

  • RTC_GPIO0 (GPIO0)
  • RTC_GPIO1(GPIO1)
  • RTC_GPIO2(GPIO2)
  • RTC_GPIO3(GPIO3)
  • RTC_GPIO4(GPIO4)
  • RTC_GPIO5(GPIO5)
  • RTC_GPIO6(GPIO6)
  • RTC_GPIO7 (GPIO7)
  • RTC_GPIO8(GPIO8)
  • RTC_GPIO9(GPIO9)
  • RTC_GPIO10(GPIO10)
  • RTC_GPIO11(GPIO11)
  • RTC_GPIO12(GPIO12)
  • RTC_GPIO13(GPIO13)
  • RTC_GPIO14(GPIO14)
  • RTC_GPIO15(GPIO15)
  • RTC_GPIO16(GPIO16)
  • RTC_GPIO17(GPIO17)
  • RTC_GPIO18(GPIO18)
  • RTC_GPIO19(GPIO19)
  • RTC_GPIO20(GPIO20)
  • RTC_GPIO21(GPIO21)

脉宽调制

ESP32-S3 集成一个 LED PWM 控制器,该控制器拥有 8 个 PWM 通道,可配置为生成不同属性的 PWM 信号。所有可用作输出的引脚均可用作 PWM 引脚。

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

  • 信号的频率;
  • 占空比;
  • PWM通道(可选);
  • 您想要输出信号的 GPIO。

I2C

当将 ESP32-S3 与 Arduino IDE 一起使用时,这些是 ESP32 I2C 默认引脚:

  • GPIO 8(SDA)
  • GPIO 9(SCL)

SPI

ESP32 集成了 4 个 SPI 外设:SPI0、SPI1、SPI2(通常称为 HSPI)、SPI3(通常称为 VSPI)。

SP0 和 SP1 在内部用于与内置闪存进行通信,您不应将它们用于其他任务。

您可以使用HSPIVSPI与其他设备通信。HSPI 和 VSPI 具有独立的总线信号。

 
SPI 莫西 味噌 时钟 CS
高速SPI(SPI 2) GPIO 11 GPIO 13 GPIO 12 GPIO 10
VSPI(SPI 3) GPIO 35 GPIO 37 GPIO 36 GPIO 39

中断

所有 GPIO 均可配置为中断。

UART 引脚 – 串行通信

ESP32-S3 支持多个 UART(通用异步收发器)接口,可与各种设备进行串行通信。ESP32 最多支持三个 UART 接口:UART0UART1UART2,具体取决于您使用的 ESP32 开发板型号。

与 I2C 和 SPI 一样,这些 UART 可以映射到任何 GPIO 引脚,尽管它们在大多数主板型号上都有默认引脚分配。

下表显示了 ESP32-S3 的默认 UART0、UART1 和 UART2 RX 和 TX 引脚:

UART端口 德克萨斯州 接收 评论
UART0 GPIO 43 GPIO 44 无法更改
UART1 GPIO 17 GPIO 18 可以分配给其他GPIO
UART2 分配您选择的任何引脚

捆扎销

ESP32-S3 芯片具有以下 Strapping 引脚:

  • GPIO 0
  • GPIO 3
  • GPIO 45
  • GPIO 46

这些引脚用于将 ESP32 置于引导加载程序或烧写模式。在大多数内置 USB/串口的开发板上,您无需担心这些引脚的状态。开发板会将这些引脚设置为适合烧写或引导模式的状态。但是,您应该避免在项目中使用这些引脚。

启用 (EN/RST)

启用 (EN/RST) 是 3.3V 稳压器的启用引脚。该引脚为上拉状态,因此将其连接至 GND 即可禁用 3.3V 稳压器。这意味着您可以将此引脚连接到按钮,例如重启 ESP32。

 

posted @ 2025-06-11 18:52  mcwhirr  阅读(5199)  评论(0)    收藏  举报