最近在研究单片机,买了一块ESP32开发板,记录一下所有引脚的定义。
ESP32的优势之一是它的GPIO比ESP8266多得多。您不必兼顾或多复用IO。有几件事要注意,因此请仔细查看引脚分配图。
ESP32外围设备和I/O
尽管ESP32总共有48个GPIO引脚,但其中只有25个引出到开发板两侧的插头。这些引脚可以分配给各种外围职责,包括:
● 15个ADC通道:15个12位SAR ADC的通道。ADC范围可以在固件中设置为0-1V,0-1.4V,0-2V或0-4V
● 2个UART接口:一个用于串口加载代码。它们具有流控制,并支持IRDA!
● 25个PWM输出:25个通道PWM引脚用于调光LED或控制电动机。
● 2个DAC通道:8位DAC可产生真正的模拟电压。
● 3个SPI和1个I2C接口:有3个SPI和1个I2C接口,可连接各种传感器和外围设备。
● 9个触摸引脚:9个GPIO具有电容触摸感应。
得益于ESP32的引脚多路复用功能,这意味着单个GPIO引脚可以充当ADC输入/DAC输出/触摸引脚。
ESP32引脚分配
ESP32开发板总共有30个引脚将其连接到外界。为简单起见,具有相似功能的引脚分组在一起。引脚如下:
让我们更详细地分析ESP32引脚及其功能。
GPIO引脚
ESP32开发板有25个GPIO引脚,可以通过编程方式分配给各种功能。每个启用的GPIO都可以配置为内部上拉或下拉或设置为高阻抗。
仅输入GPIO引脚
GPIO34、GPIO35、GPIO36(VP)和GPIO39(VN)引脚无法配置为输出,它们可以用作数字输入、模拟输入或其他目的。另请注意,它们没有像其他GPIO引脚那样具有内部上拉或下拉电阻。
同样,GPIO36(VP)和GPIO39(VN)引脚也是ADC超低噪声前放大器的组成部分,这有助于配置Pre-Amp的采样时间和噪声。
ESP32中断引脚
所有GPIO都可以配置为中断。
ADC引脚
ESP32具有15个12位ADC输入通道。这些GPIO可用于将引脚上的模拟电压转换为数字数字。
ESP32上的ADC是12位ADC,这意味着它具有检测4096离散模拟电平的能力。换句话说,它将将输入电压映射到0和操作电压之间的3.3V之间,为0到4095之间的整数值。
您还可以在代码中设置通道的ADC分辨率和ADC范围。
DAC引脚
ESP32具有两个8位DAC通道,可用于将数字信号转换为真正的模拟电压。它可以用作控制模拟设备的数字电位计。
ESP32上的双DAC具有8位分辨率,这意味着0到256之间的值将产生一个模拟电压在0到3.3V之间。
触摸引脚
ESP32具有9个电容接触式GPIO。当电容载荷(例如人的手指)与GPIO紧邻时,ESP32检测到电容的变化。
通过将它们连接到任何导电物体,例如电线、螺纹、箔、布、导电涂料等。这些电容式触摸引脚也可以用来从深度睡眠中唤醒ESP32。
SPI引脚
SPI引脚ESP32具有三个SPI(SPI,HSPI和VSPI),支持从机和主机模式。这些SPI还支持以下通用SPI特征:
● SPI格式转移的4个正时模式
● 最多80 MHz和80 MHz的分开时钟
● 最多64字节FIFO
仅VSPI和HSPI是可用的SPI接口,并且集成的闪存芯片使用第三个SPI总线。标准库通常在两者之间使用VSPI引脚。
I2C引脚
ESP32具有单个I2C总线,可让您连接多达112个传感器和外围设备。默认情况下,SDA和SCL引脚分配给以下引脚。但是,您可以在带有Wire.Begin(SDA,SCL)命令的任何GPIO引脚上键入I2C协议。
UART引脚
ESP32具有2个UART接口,即UART0和UART2,可提供异步通信(RS232和RS485)和IRDA支持,并以最高5Mbps进行通信。
● UART0引脚连接到USB到串行转换器,用于闪烁和调试。因此,不建议使用UART0引脚。
● 另一方面,UART2是附加的串口1引脚,并且未连接到USB到串行转换器。这意味着您可以使用它们连接到诸如GPS、指纹传感器等的UART设备。
PWM引脚
开发板有25个由脉冲宽度调制(PWM)控制器控制的PWM引脚的通道(几乎所有GPIO引脚)。PWM输出可用于驱动数字电动机和LED。
控制器由PWM计时器和PWM操作员组成。每个计时器都以同步或独立的形式提供时间,并且每个PWM操作员为一个PWM通道生成波形。
RTC GPIO引脚
一些GPIO被引到RTC低功率子系统,它们称为RTC GPIO。这些是特殊的引脚,用于当超低功率(ULP)协作者运行时从深度睡眠中唤醒ESP32。以下GPIO可以用作外部唤醒源。
电源引脚
有两组电源引脚 - VIN引脚和3.3V引脚。如果您具有调节的5V电压源,则可以将VIN引脚用于直接提供ESP32及其外围设备。 3.3V引脚是板载电压调节器的输出。该引脚可用于为外部组件提供电源。 GND是ESP32开发板的地引脚。
EN引脚
EN引脚用于启用ESP32。上拉高电平时启用芯片。当拉低时,芯片以最小的功率工作。