ESP32 引脚分配参考
ESP32 的优点之一是它比 ESP8266 拥有更多的 GPIO。您无需处理或复用 IO 引脚。但是,有一些事情需要记住,所以请仔细阅读引脚排列。
笔记:
请注意,以下引脚分配参考适用于流行的 30 引脚ESP32 devkit v1开发板。
并非每个 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的引脚及其功能。
GPIO 引脚
ESP32 开发板有 25 个 GPIO 引脚,可以通过编程相应的寄存器来分配不同的功能。GPIO 有多种类型:仅数字、模拟、电容触摸等。模拟 GPIO 和电容触摸 GPIO 可以配置为数字 GPIO。大多数数字 GPIO 都可以配置为内部上拉或下拉,或设置为高阻抗。
哪些 ESP32 GPIO 可以安全使用?
尽管 ESP32 有很多具有各种功能的引脚,但其中一些引脚可能不适合您的项目。下表显示了哪些引脚可以安全使用以及哪些引脚应谨慎使用。
- – 您最优先的引脚。它们使用起来完全安全。
- – 请密切注意,因为它们的行为,特别是在启动期间,可能是不可预测的。仅在绝对必要时才使用它们(这一点和arduino uno 开发板是有区别的)。
- – 建议您避免使用这些引脚。
-
标签 通用输入输出接口 使用安全吗? 原因 0 pulled up OK 启动期间必须为高电平,编程时必须为低电平 1 TX pin OK Tx引脚,用于烧写和调试 2 OK OK 启动期间必须为低电平,并且还连接到板载 LED 3 OK RX pin 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 21 OK OK 22 OK OK 23 OK OK 25 OK OK 26 OK OK 27 OK OK 32 OK OK 33 OK OK 34 OK 仅输入 GPIO,不能配置为输出 35 OK 仅输入 GPIO,不能配置为输出 36 OK 仅输入 GPIO,不能配置为输出 39 OK 仅输入 GPIO,不能配置为输出
下图显示了哪些 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 是 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 引脚还连接到一个按钮开关,该按钮开关可以将该引脚拉至低电平并触发复位。文章来源:https://www.toymoban.com/news/detail-809196.html
文章来源地址https://www.toymoban.com/news/detail-809196.html
到了这里,关于ESP32 引脚分配参考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!