请注意,以下引脚分配参考适用于流行的 30 引脚ESP32 devkit v1开发板。
仅输入引脚
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 都可以配置为内部上拉或下拉,或设置为高阻抗。
ADC 引脚
ESP32 集成了两个 12 位 SAR ADC,支持 15 个通道(模拟引脚)的测量。ADC分成了2组ADC1和ADC2,如果使用WIFI则ADC2是不能使用的,这个要注意。ADC1一共包含6个通道。
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 通道,用于将数字信号转换为真实的模拟电压。它可以用作“数字电位器”来控制模拟设备。
这些 DAC 具有 8 位分辨率,这意味着 0 到 256 范围内的值将转换为 0 到 3.3V 范围内的模拟电压。
DAC 的 8 位分辨率可能不足以用于音频应用,在这种情况下,最好使用具有更高分辨率(12-24 位)的外部 DAC。
触摸针
ESP32 有 9 个电容式触摸感应 GPIO。当电容负载(例如人的手指)靠近 GPIO 时,ESP32 会检测到电容的变化。
您可以通过将任何导电物体附加到这些引脚来制作触摸板,例如铝箔、导电布、导电涂料等。由于电路的低噪声设计和高灵敏度,可以制作相对较小的焊盘。
此外,这些电容式触摸引脚可用于将ESP32 从深度睡眠状态唤醒。
I2C 引脚
ESP32 具有单个 I2C 总线,允许您连接最多 112 个传感器和外设(并联)。默认情况下,SDA 和 SCL 引脚分配给以下引脚。但是,您可以使用该命令对任何 GPIO 引脚上的 I2C 协议进行位操作wire.begin(SDA, SCL)。
SPI 引脚
ESP32 在从模式和主模式下具有三个 SPI(SPI、HSPI 和 VSPI)。这些 SPI 还支持下列通用 SPI 功能:
SPI格式传输的4种时序模式
高达 80 MHz 和 80 MHz 分频时钟
高达 64 字节 FIFO
只有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、指纹传感器、距离传感器等)的安全选项。
此外,UART 还提供 CTS 和 RTS 信号的硬件管理以及软件流控制(XON 和 XOFF)。
PWM引脚
该板具有 21 个由 PWM 控制器控制的 PWM 引脚通道(一共25个管脚中除仅输入 GPIO34\35\36\39 之外的所有 GPIO)。PWM 输出可用于驱动数字电机和 LED。
RTC GPIO 引脚
一些 GPIO 路由到 RTC 低功耗子系统,称为 RTC GPIO。当超低功耗 (ULP) 协处理器运行时,这些引脚用于将 ESP32 从深度睡眠状态唤醒。下面突出显示的 GPIO 可用作外部唤醒源。
这些引脚用于将 ESP32 置于 BOOT 模式(运行闪存中存储的程序)或 FLASH 模式(将程序上传到闪存)。根据这些引脚的状态,ESP32 在上电时将进入 BOOT 模式或 FLASH 模式。
在大多数具有内置 USB/串行的开发板上,您无需担心这些引脚的状态,因为开发板会将它们置于正确的状态以进行闪存或启动模式。
但是,如果外设连接到这些引脚,则在尝试上传新代码或使用新固件刷新 ESP32 时可能会遇到问题,因为这些外设会阻止 ESP32 进入正确的模式。
复位释放后,捆扎销可以正常工作,但仍应谨慎使用。
电源引脚
有两个电源引脚:VIN 引脚和 3V3 引脚。如果您有 5V 稳压电源,VIN 引脚可用于直接为 ESP32 及其外设供电。3V3引脚是板载稳压器的输出;您可以从中获得高达 600mA 的电流。GND 是接地引脚。
启用引脚
EN 引脚是 ESP32 的使能引脚,默认拉高。当拉高时,芯片被使能;当拉低时,芯片被禁用。
EN 引脚还连接到一个按钮开关,该按钮开关可以将该引脚拉至低电平并触发复位。