ESP32 引脚分配参考

本文详细介绍了ESP32开发板的引脚配置,包括GPIO的多种用途(如ADC、DAC、触摸板等)、中断、I2C、SPI、UART和PWM等外设接口,以及电源和使能引脚的特性。提醒读者注意不同引脚的功能限制和使用注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP32 引脚分配参考

ESP32 的优点之一是它比 ESP8266 拥有更多的 GPIO。您无需处理或复用 IO 引脚。但是,有一些事情需要记住,所以请仔细阅读引脚排列。

笔记:

请注意,以下引脚分配参考适用于流行的 30 引脚ESP32 devkit v1开发板。

30pin esp32开发板

并非每个 ESP32 开发板都会暴露每个引脚,但无论您使用哪种开发板,每个引脚的工作原理都完全相同。

ESP32 外设和 I/O

虽然 ESP32总共有48 个 GPIO 引脚,但其中只有 25 个被引出到开发板两侧的排针上。这些引脚可以分配多种外设职责,包括:

15 个 ADC 通道

15 个通道的 12 位 SAR ADC,可选范围为 0-1V、0-1.4V、0-2V 或 0-4V

(ADC1:32,33,34,35,36,39;  ADC2:2,4,12,13,14,15,25,26,27)

2个UART接口2 个带流量控制和 IrDA 支持的 UART 接口
25 个 PWM 输出25 个 PWM 引脚,用于控制电机速度或 LED 亮度等(除34,35,36,39外其余管脚)
2 个 DAC 通道两个 8 位 DAC 可生成真实的模拟电压(25,26)
SPI、I2C 和 I2S 接口3 个 SPI 和 1 个 I2C 接口用于连接各种传感器和外设,以及 2 个 I2S 接口用于为您的项目添加声音(I2C:21,22;
9 个触摸板9 个具有电容式触摸感应的 GPIO(2,4,12,13,14,15,27,32,33)

得益于 ESP32 的引脚复用功能,允许多种外设共享单个 GPIO 引脚。例如,单个 GPIO 引脚既可以充当 ADC 输入、也可以充当DAC 输出或触摸板。

ESP32 引脚排列

ESP32 DevKit V1 开发板共有 30 个引脚。(有38个引脚的esp32)为了方便起见,具有相似功能的引脚被分组在一起。引脚排列如下:

ESP32 引脚排列

我们来一一详细了解一下ESP32的引脚及其功能。

GPIO 引脚

ESP32 开发板有 25 个 GPIO 引脚,可以通过编程相应的寄存器来分配不同的功能。GPIO 有多种类型:仅数字、模拟、电容触摸等。模拟 GPIO 和电容触摸 GPIO 可以配置为数字 GPIO。大多数数字 GPIO 都可以配置为内部上拉或下拉,或设置为高阻抗。

ESP32 GPIO 引脚

哪些 ESP32 GPIO 可以安全使用?

尽管 ESP32 有很多具有各种功能的引脚,但其中一些引脚可能不适合您的项目。下表显示了哪些引脚可以安全使用以及哪些引脚应谨慎使用。

  • – 您最优先的引脚。它们使用起来完全安全。
  • – 请密切注意,因为它们的行为,特别是在启动期间,可能是不可预测的。仅在绝对必要时才使用它们(这一点和arduino uno 开发板是有区别的)。
  • – 建议您避免使用这些引脚。
  •   标签    通用输入输出接口    使用安全吗?  原因
    0pulled upOK启动期间必须为高电平,编程时必须为低电平
    1TX pinOKTx引脚,用于烧写和调试
    2OKOK启动期间必须为低电平,并且还连接到板载 LED
    3OKRX pinRx引脚,用于烧写和调试
    4OKOK
    5OKOK启动期间必须为高电平
    6xx连接至闪存
    7xx连接至闪存
    8xx连接至闪存
    9xx连接至闪存
    10xx连接至闪存
    11xx连接至闪存
    12OKOK启动期间必须为低电平
    13OKOK
    14OKOK
    15OKOK
    16OKOK
    17OKOK
    18OKOK
    19OKOK
    21OKOK
    22OKOK
    23OKOK
    25OKOK
    26OKOK
    27OKOK
    32OKOK
    33OKOK
    34OK仅输入 GPIO,不能配置为输出
    35OK仅输入 GPIO,不能配置为输出
    36OK仅输入 GPIO,不能配置为输出
    39OK仅输入 GPIO,不能配置为输出

下图显示了哪些 GPIO 引脚可以安全使用。

可安全使用的 ESP32 GPIO 引脚

仅输入 GPIO

引脚 GPIO34、GPIO35、GPIO36(VP) 和 GPIO39(VN) 不能配置为输出。它们只能被用作数字或模拟输入,或用于其他目的。与其他 GPIO 引脚不同,它们还缺少内部上拉和下拉电阻。

ESP32 中断引脚

所有 GPIO 均可配置为中断。(arduino uno只有两个引脚可以配置为中断,引脚2和3)

ADC 引脚

ESP32 集成了两个 12 位 SAR ADC,支持 15 个通道(模拟引脚)的测量。ADC分成了2组ADC1和ADC2,如果使用WIFI则ADC2是不能使用的,这个要注意。

ESP32 ADC 引脚

ESP32 的 ADC 是 12 位 ADC,这意味着它可以检测 4096 (2^12) 个离散模拟电平。换句话说,它将把 0 到 3.3V(工作电压)范围内的输入电压转换为 0 到 4095 范围内的整数值。这导致分辨率为 3.3 伏/4096 个单位,或每单位 0.0008 伏(0.8 mV)。

此外,ADC 分辨率和通道范围可以通过编程方式设置。

警告:

启用 Wi-Fi 时,无法使用 ADC2 引脚。如果您的项目需要 Wi-Fi,只能使用 ADC1 引脚。

DAC 引脚

ESP32 包括两个 8 位 DAC 通道,用于将数字信号转换为真实的模拟电压。它可以用作“数字电位器”来控制模拟设备。

ESP32 DAC 引脚

这些 DAC 具有 8 位分辨率,这意味着 0 到 256 范围内的值将转换为 0 到 3.3V 范围内的模拟电压。

DAC 的 8 位分辨率可能不足以用于音频应用,在这种情况下,最好使用具有更高分辨率(12-24 位)的外部 DAC。

触摸针

ESP32 有 9 个电容式触摸感应 GPIO。当电容负载(例如人的手指)靠近 GPIO 时,ESP32 会检测到电容的变化。

ESP32 触摸引脚

您可以通过将任何导电物体附加到这些引脚来制作触摸板,例如铝箔、导电布、导电涂料等。由于电路的低噪声设计和高灵敏度,可以制作相对较小的焊盘。

此外,这些电容式触摸引脚可用于将ESP32 从深度睡眠状态唤醒

I2C 引脚

ESP32 具有单个 I2C 总线,允许您连接最多 112 个传感器和外设(并联)。默认情况下,SDA 和 SCL 引脚分配给以下引脚。但是,您可以使用该命令对任何 GPIO 引脚上的 I2C 协议进行位操作wire.begin(SDA, SCL)

ESP32 I2C 引脚

SPI 引脚

ESP32 在从模式和主模式下具有三个 SPI(SPI、HSPI 和 VSPI)。这些 SPI 还支持下列通用 SPI 功能:

  • SPI格式传输的4种时序模式
  • 高达 80 MHz 和 80 MHz 分频时钟
  • 高达 64 字节 FIFO

ESP32 SPI 引脚

只有VSPI和HSPI是可用的SPI接口,第三条SPI总线由集成闪存芯片使用。VSPI 引脚常用于标准库中。

HSPI 与 VSPI

HSPI 有时被误解为“硬件”SPI,VSPI 被误解为“虚拟或软件”SPI。但实际上,它们是相同的!

与 I2C 一样,您可以使用该命令对任何 GPIO 引脚上的 SPI 协议进行位操作bus.begin(CLK_PIN, MISO_PIN, MOSI_PIN, SS_PIN);

串口引脚

ESP32 开发者。该板具有三个 UART 接口:UART0、UART1 和 UART2,支持异步通信(RS232 和 RS485)和高达 5 Mbps 的 IrDA。

  • UART0 引脚连接到 USB 转串口转换器,用于刷新和调试。因此,不建议使用UART0引脚。
  • UART1 引脚为集成闪存芯片保留。
  • 另一方面,UART2 是连接 UART 设备(例如 GPS、指纹传感器、距离传感器等)的安全选项。

ESP32 串口引脚

此外,UART 还提供 CTS 和 RTS 信号的硬件管理以及软件流控制(XON 和 XOFF)。

PWM引脚

该板具有 21 个由 PWM 控制器控制的 PWM 引脚通道(一共25个管脚中除仅输入 GPIO34\35\36\39 之外的所有 GPIO)。PWM 输出可用于驱动数字电机和 LED。

ESP32 PWM 引脚

RTC GPIO 引脚

一些 GPIO 路由到 RTC 低功耗子系统,称为 RTC GPIO。当超低功耗 (ULP) 协处理器运行时,这些引脚用于将 ESP32 从深度睡眠状态唤醒。下面突出显示的 GPIO 可用作外部唤醒源

ESP32 RTC GPIO 引脚

esp32 捆扎引脚

这些引脚用于将 ESP32 置于 BOOT 模式(运行闪存中存储的程序)或 FLASH 模式(将程序上传到闪存)。根据这些引脚的状态,ESP32 在上电时将进入 BOOT 模式或 FLASH 模式。

在大多数具有内置 USB/串行的开发板上,您无需担心这些引脚的状态,因为开发板会将它们置于正确的状态以进行闪存或启动模式。

但是,如果外设连接到这些引脚,则在尝试上传新代码或使用新固件刷新 ESP32 时可能会遇到问题,因为这些外设会阻止 ESP32 进入正确的模式。

复位释放后,捆扎销可以正常工作,但仍应谨慎使用。

电源引脚

有两个电源引脚:VIN 引脚和 3V3 引脚。如果您有 5V 稳压电源,VIN 引脚可用于直接为 ESP32 及其外设供电。3V3引脚是板载稳压器的输出;您可以从中获得高达 600mA 的电流。GND 是接地引脚。

ESP32 电源引脚

启用引脚

EN 引脚是 ESP32 的使能引脚,默认拉高。当拉高时,芯片被使能;当拉低时,芯片被禁用。

EN 引脚还连接到一个按钮开关,该按钮开关可以将该引脚拉至低电平并触发复位。

esp32使能引脚

<think>好的,用户问的是ESP32 NodeMCU-32S开发板的大小。我需要先回想一下这个开发板的常见尺寸。记得这类开发板通常和Arduino Uno差不多大,但具体数值是多少呢?可能需要查一下官方资料或者可靠来源的数据。 首先,ESP32 NodeMCU-32S的尺寸大约是5厘米乘2.5厘米左右。不过不确定是不是精确的,最好确认一下。比如,有些资料可能会提到具体的长度和宽度,比如长5.3厘米,宽2.6厘米,这样更准确。另外,厚度通常比较薄,可能在1厘米左右,但可能因元件而异。 接下来要考虑用户的需求。用户可能是在做项目时需要考虑开发板的大小是否适合安装到特定的空间里,比如机器人、智能家居设备等。所以除了长宽,可能还需要提到引脚布局是否和其他开发板兼容,比如是否和NodeMCU或Arduino Uno的尺寸类似,这样用户更容易想象。 另外,用户可能想知道的是物理尺寸,但有时候可能会混淆开发板的尺寸和性能参数,不过这里问题明确是问大小,所以重点在物理尺寸。需要确保回答时单位明确,使用厘米或毫米,常见的是厘米,但可能精确到毫米更好。 需要确认是否有不同版本,比如有些ESP32开发板可能有不同的布局导致尺寸略有不同,但NodeMCU-32S的型号一般比较标准。可能还需要提到一些典型的应用场景,帮助用户理解尺寸的重要性。 最后,确保回答结构清晰,分点说明长宽高,并给出一个常见的类比,比如和Arduino Uno的比较,这样用户更容易理解。同时提醒如果有特别精确的需求,建议查阅具体产品手册,因为可能存在细微差异。</think>关于ESP32 NodeMCU-32S开发板的尺寸,其物理参数如下: 1. **长度**:约$5.3\ \text{cm}$ (与标准Arduino Uno开发板的$6.8\ \text{cm}$相比更紧凑) 2. **宽度**:约$2.6\ \text{cm}$ (宽度设计便于面包板插接) 3. **厚度**:约$1.5\ \text{cm}$ (含USB接口和排针的高度) 4. **引脚布局**:采用双列直插式排针,间距$2.54\ \text{mm}$(标准间距) **扩展说明**: 该尺寸与早期NodeMCU开发板(基于ESP8266)的$4.9\ \text{cm} \times 2.4\ \text{cm}$接近,但增加了更多外设接口。实际应用中需预留$1\ \text{cm}$以上的周围空间以便散热和布线。 **建议**: 若需精确尺寸数据,可查阅厂商提供的机械图纸(通常包含定位孔间距等细节),不同批次可能存在$\pm 0.2\ \text{mm}$的公差。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值