-
福利一海量deepseek资料包(持续更新)
-
福利二ComfyUI工作流&模型&插件
-
福利三AI工具集合包以及AI绘画解决方案
请注意,以下引脚分配参考适用于流行的 30 引脚ESP32 devkit v1开发板。
并非每个 ESP32 开发板都会暴露每个引脚,但无论您使用哪种开发板,每个引脚的工作原理都完全相同。
虽然 ESP32总共有48 个 GPIO 引脚,但其中只有 25 个被引出到开发板两侧的排针上。这些引脚可以分配多种外设职责,包括:
外设职责 | GPIO 引脚 |
---|---|
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 DevKit V1 开发板共有 30 个引脚。(有38个引脚的esp32)为了方便起见,具有相似功能的引脚被分组在一起。引脚排列如下:
ESP32 开发板有 25 个 GPIO 引脚,可以通过编程相应的寄存器来分配不同的功能。GPIO 有多种类型:仅数字、模拟、电容触摸等。模拟 GPIO 和电容触摸 GPIO 可以配置为数字 GPIO。大多数数字 GPIO 都可以配置为内部上拉或下拉,或设置为高阻抗。
尽管 ESP32 有很多具有各种功能的引脚,但其中一些引脚可能不适合您的项目。下表显示了哪些引脚可以安全使用以及哪些引脚应谨慎使用。
– 您最优先的引脚。它们使用起来完全安全。
– 请密切注意,因为它们的行为,特别是在启动期间,可能是不可预测的。仅在绝对必要时才使用它们(这一点和arduino uno 开发板是有区别的)。
– 建议您避免使用这些引脚。
标签 | 通用输入输出接口 | 使用安全吗? | 原因 |
---|---|---|---|
0 | pulled up | OK | 启动期间必须为高电平,编程时必须为低电平 |
1 | TX pin | OK | Tx引脚,用于烧写和调试 |
2 | OK | OK | 启动期间必须为低电平,并且还连接到板载 LED |
3 | RX pin | OK | Rx引脚,用于烧写和调试 |
4 | OK | OK | |
5 | OK | OK | 启动期间必须为高电平 |
6 | x | x | 连接至闪存 |
7 | x | x | 连接至闪存 |
8 | x | x | 连接至闪存 |
9 | x | x | 连接至闪存 |
10 | x | x | 连接至闪存 |
11 | x | x | 连接至闪存 |
12 | OK | OK | 启动期间必须为低电平 |
13 | OK | OK | |
14 | OK | OK | |
15 | OK | OK | |
16 | OK | OK | |
17 | OK | OK | |
18 | OK | OK | |
19 | OK | OK | |
20 | OK | OK | |
21 | OK | OK | |
22 | OK | OK | |
23 | OK | OK | |
24 | OK | OK | |
25 | OK | OK | |
26 | OK | OK | |
27 | OK | OK | |
28 | OK | OK | |
29 | OK | OK | |
30 | OK | OK | |
31 | OK | OK | |
32 | OK | OK | |
33 | OK | OK | |
34 | OK | 仅输入 GPIO,不能配置为输出 | |
35 | OK | 仅输入 GPIO,不能配置为输出 | |
36 | OK | 仅输入 GPIO,不能配置为输出 | |
37 | OK | 仅输入 GPIO,不能配置为输出 | |
38 | OK | 仅输入 GPIO,不能配置为输出 | |
39 | OK | 仅输入 GPIO,不能配置为输出 |
引脚 GPIO34、GPIO35、GPIO36(VP) 和 GPIO39(VN) 不能配置为输出。它们只能被用作数字或模拟输入,或用于其他目的。与其他 GPIO 引脚不同,它们还缺少内部上拉和下拉电阻。
所有 GPIO 均可配置为中断。
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 引脚。
ESP32 包括两个 8 位 DAC 通道,用于将数字信号转换为真实的模拟电压。它可以用作“数字电位器”来控制模拟设备。
这些 DAC 具有 8 位分辨率,这意味着 0 到 256 范围内的值将转换为 0 到 3.3V 范围内的模拟电压。
DAC 的 8 位分辨率可能不足以用于音频应用,在这种情况下,最好使用具有更高分辨率(12-24 位)的外部 DAC。
ESP32 有 9 个电容式触摸感应 GPIO。当电容负载(例如人的手指)靠近 GPIO 时,ESP32 会检测到电容的变化。
您可以通过将任何导电物体附加到这些引脚来制作触摸板,例如铝箔、导电布、导电涂料等。由于电路的低噪声设计和高灵敏度,可以制作相对较小的焊盘。
此外,这些电容式触摸引脚可用于将ESP32 从深度睡眠状态唤醒。
ESP32 具有单个 I2C 总线,允许您连接最多 112 个传感器和外设(并联)。默认情况下,SDA 和 SCL 引脚分配给以下引脚。
但是,您可以使用该命令对任何 GPIO 引脚上的 I2C 协议进行位操作SoftI2C(SDA, SCL)
。
ESP32 在从模式和主模式下具有三个 SPI(SPI、HSPI 和 VSPI)。这些 SPI 还支持下列通用 SPI 功能:
HSPI 与 VSPI
HSPI 有时被误解为“硬件”SPI,VSPI 被误解为“虚拟或软件”SPI。但实际上,它们是相同的!
与 I2C 一样,您可以使用该命令对任何 GPIO 引脚上的 SPI 协议进行位操作SoftSPI(CLK_PIN, MISO_PIN, MOSI_PIN, SS_PIN)
。
ESP32 开发者。该板具有三个 UART 接口:UART0、UART1 和 UART2,支持异步通信(RS232 和 RS485)和高达 5 Mbps 的 IrDA。
有两个电源引脚:VIN 引脚和 3V3 引脚。如果您有 5V 稳压电源,VIN 引脚可用于直接为 ESP32 及其外设供电。3V3引脚是板载稳压器的输出;您可以从中获得高达 600mA 的电流。GND 是接地引脚。
EN 引脚是 ESP32 的使能引脚,默认拉高。当拉高时,芯片被使能;当拉低时,芯片被禁用。
EN 引脚还连接到一个按钮开关,该按钮开关可以将该引脚拉至低电平并触发复位。