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

ESP32哪些引脚不能输出 esp32 引脚_单片机

仅输入引脚

GPIO34~39是GPIs–仅输入的管脚。这些引脚没有内部上拉或下拉电阻。它们不能用作输出,因此只能将这些管脚用作输入:GPIO 34、GPIO 35、GPIO 36、GPIO 39

SPI闪存

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

GPIO 6(SCK/CLK)、GPIO 7(SDO/SD0)、

GPIO 8(SDI/SD1)、GPIO 9(SHD/SD2)、

GPIO 10(SWP/SD3)、GPIO 11(CSC/CMD)

GPIO 引脚

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

ESP32哪些引脚不能输出 esp32 引脚_嵌入式硬件_02

 

ADC 引脚

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

ESP32哪些引脚不能输出 esp32 引脚_引脚_03

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哪些引脚不能输出 esp32 引脚_ESP32哪些引脚不能输出_04

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

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

触摸针

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

ESP32哪些引脚不能输出 esp32 引脚_闪存_05

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

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

I2C 引脚

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

ESP32哪些引脚不能输出 esp32 引脚_嵌入式硬件_06

SPI 引脚

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

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

ESP32哪些引脚不能输出 esp32 引脚_嵌入式硬件_07

只有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哪些引脚不能输出 esp32 引脚_引脚_08

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

PWM引脚

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

ESP32哪些引脚不能输出 esp32 引脚_ESP32哪些引脚不能输出_09

RTC GPIO 引脚

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

ESP32哪些引脚不能输出 esp32 引脚_引脚_10

ESP32哪些引脚不能输出 esp32 引脚_单片机_11

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

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

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

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

电源引脚

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

ESP32哪些引脚不能输出 esp32 引脚_嵌入式硬件_12

启用引脚

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

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

ESP32哪些引脚不能输出 esp32 引脚_引脚_13