ESP8266-12F

  

ESP8266-12F引脚图:

 分析引脚图,可以得出几个结论:

1.ESP8266-12F总共有22个引脚,对应了第1章选型表的SMD-22封装工艺,同时有GPIO0-GPIO16共17个通用IO口,但是得注意有些IO口还可以完成其他功能(也叫做引脚复用),诸如Serial、I2C、SPI,由相应的函数库完成

2.ESP8266具有一个可用的单通道ADC

3.GPIO6-GPIO11(复用引脚CS、MISO、MOSI、SCK)用于连接外部flash,对用户不可用,试图使用这些引脚作为IO将会导致程序奔溃

4.支持SPI总线通信,对应引脚为GPIO12-GPIO15

5.支持I2C总线,对应引脚为GPIO4-GPIO5;

6.支持串口通信Serial、Serial1,默认对应引脚GPIO1-GPIO3

 同时,读者也需要知道ESP8266-12F与NodeMcu的端口映射关系,如下图:

 可以看出:
    1.中间的DEVKIT部分,就是NodeMcu提供给外界的端口,对应实物图上标注的端口名称;
    2.除开中间部分,其他部分基本上对应ESP8266引脚,以不同颜色块来区分不同功能;

 NodeMcu上的CLK、SD0、CMD、SD1、SD2引脚,是用于连接外接flash芯片,不应该用于连接其他模块,悬空即可,以防程序奔溃

 GPIO引脚映射表,以供参考:

 

从上面表格可以看出,我们大约11个GPIO引脚可用。而11个中的2个引脚通常被保留用于RX和TX,以便进行串口通信。因此最后,只剩下8个通用I / O引脚,即D0到D8(除开D3特殊用途)

 请注意,D0 / GPIO16引脚只能用作GPIO读/写,不支持特殊功能

数字IO(Digital IO)

上面说到,ESP8266-12F(也可以大胆说ESP8266-12系列)最终只剩下8个通用的I/O引脚以供我们使用,即是NodeMcu上的D0-D8(除D3之外)。
    Arduino中的引脚号直接与ESP8266 GPIO的引脚号对应通信。pinMode/digitalRead/digitalWrite函数不变,所以要读取GPIO2,可调用digitalRead(2)。除了D0可以设置为INPUT(输入)、OUTPUT(输出)或者INPUT_PULLDOWN(输入,默认下拉,也就是低电平),剩余的数字IO引脚可以设置为INPUT(输入)、OUTPUT(输出)或者INPUT_PULLUP(输入,默认上拉,也就是高电平)

猜你喜欢

转载自www.cnblogs.com/liming19680104/p/10977755.html