|
ESP8266的优势之一是它具有相当多的GPIO引脚。您不必兼顾或重复使用IO引脚。并非所有的引脚都在所有ESP8266开发板中都拆分,但是无论您使用的哪个开发板,每个特定的引脚都以相同的方式工作。
ESP8266外围设备和I/O ESP8266 NodeMCU总共有17个GPIO引脚,分别引出到开发板两侧的排针。这些引脚可以分配给各种外围职责,包括: ● 1个ADC通道:10位精度SAR ADC的通道。 ● 2个UART接口:UART0可用于通信。由于UART1仅具有数据传输信号(TX),因此通常用于打印日志。 ● 4个PWM输出:4个通道的PWM引脚,用于调光LED或控制电动机。 ● 2个SPI和1个I2C接口:有2个SPI和1个I2C接口,可连接各种传感器和外围设备。 ● 1个I2S接口:可以项目添加声音。
多亏了ESP8266的引脚多路复用功能(多个外围器件在单个GPIO上多路复用)。这意味着单个GPIO引脚可以充当PWM/UART/SPI。
ESP8266引脚分配 ESP8266开发板总共有30个引脚将其连接到外界。为简单起见,具有相似功能的引脚分组在一起。引脚如下:
让我们更详细地分析ESP8266引脚及其功能。
GPIO引脚 ESP8266开发板有17个GPIO引脚,可以通过编程方式分配到各种功能。每个GPIO都可以配置为内部上拉或下拉或设置为高阻抗。
ADC引脚 ESP8266带有一个10位精度SAR ADC。
ESP8266上的ADC是10位ADC,这意味着它具有检测1024(210)离散模拟电压的能力。换句话说,它将将输入电压映射到0和操作电压之间的3.3V之间,为0到1024之间的整数值。
可以使用ADC实施以下两个测量。但是,它们不能同时实施。 ● 测量VDD3P3(PIN3和PIN4)的电源电压。 ● 测量A0的输入电压。
SPI引脚 ESP8266具有两个SPI(SPI和HSPI),支持从机和主机模式。这些SPI还支持以下通用SPI特征: ● SPI格式转移的4个正时模式 ● 最多80 MHz和80 MHz的分开时钟 ● 最多64字节FIFO
实际上,您可以通过“ bitbanging”使用任何GPIO引脚作为SPI引脚,但是如果您最终使用“硬件SPI”,则需要使用HSPI引脚(GPIO12-15)。
I2C引脚 ESP8266没有硬件i2c引脚,但可以通过“ bitbanging”来完成。它运行良好,ESP8266足够快,可以匹配“ arduino级别”的速度。
默认情况下,使用GPIO4(SDA)和GPIO5(SCL)作为I2C引脚,以使使用现有Arduino代码,库和草图的人们更容易。
但是,您可以通过在Arduino IDE中调用Wire.Begin(SDA,SCL),将其他两个GPIO引脚用作I2C引脚。
UART引脚 ESP8266具有2个UART接口,即UART0和UART1,它们提供异步通信(RS232和RS485),并以高达4.5Mbps的速度进行通信。 ● UART0(TXD0,RXD0,RST0和CTS0引脚)用于通信。 ● UART1(TXD1 PIN)仅具有数据传输信号,因此通常用于打印日志。
TXD0和RXD0是串行控制和引导加载引脚。这些是通过USB到串行转换器连接的,因此您在使用它们时应该要小心,因为您还将在它们上获得USB数据。
PWM引脚 在ESP8266中,脉冲宽度调制(PWM)可以在所有GPIO引脚:GPIO0到GPIO15上以编程方式实现。
ESP8266上的PWM信号具有10位分辨率。同样,PWM频率范围可将1000 µs至10000 µs调节,即100 Hz和1 kHz。
SDIO引脚 ESP8266具有安全的数字输入/输出接口(SDIO),用于直接接口SD卡。支持4位25 MHz SDIO V1.1和4位50 MHz SDIO v2.0。
电源引脚 当您不通过USB供电时,VIN引脚可用于为ESP8266提供电力。3V3引脚是从板载3.3V调节器输出的,它们可以提供500mA峰值。GND引脚是所有电源和逻辑电源的共地点。
中断引脚 除GPIO16外,所有GPIO都可以配置为中断。
控制引脚 RST是ESP8266的复位引脚,默认情况下升高。当拉低时,它将复位ESP8266系统。这与按下板上RST按钮相同。
ESP8266使用Flash引脚来确定何时启动到引导加载程序。如果该引脚在电源启动期间保持低电平,它将开始引导加载!这与按下板载FLASH按钮相同。
EN(有时被标记为CH_PD或CHIP POWER)用于启用ESP8266。高电平时启用芯片。当拉低时,芯片以最小的功率工作。
WAKE引脚用于从深度睡眠中唤醒ESP8266,您需要将其连接到第一个引脚。
|