8266引脚笔记

8266引脚笔记

ESP8266 12-E 芯片配有 17 个 GPIO 引脚。并非所有 GPIO 都公开在所有 ESP8266 开发板中,某些 GPIO 不建议使用,而其他 GPIO 具有非常具体的功能。

ESP8266 12-E 芯片引脚排列

image-20220302093025795

注意:并非所有 GPIO 都可以在所有开发板中访问,但无论您使用哪种开发板,每个特定的 GPIO 都以相同的方式工作。如果您刚刚开始使用 ESP8266,建议阅读指南:ESP8266 入门

ESP8266-01 引脚排列

如果您使用的是 ESP8266-01 开发板,则可以使用以下 GPIO 图作为参考。

image-20220302093141079

ESP8266 12-E nodeMCU 开发板引脚排列

image-20220302093228419

image-20220302093507082

img

WeMos D1 Mini 引脚排列

image-20220302093256860

ESP8266引脚使用注意事项和推荐

image-20220302094304267

其实图表已经把功能成系列的引脚归类排列在一起了,根据注意事项翻译过来就是:

GPIO0(D3):连接到NODEMCU为代表的FLASH按键开关上,作为输入时上拉,作为输出时是推荐作为输出引脚的。如果引脚被拉低则无法启动;

GPIO2(D4):作为输入时上拉,作为输出时是推荐作为输出引脚的。模块/开发板启动的时候会被置高,连接到板载LED灯上,跟GPIO0引脚一样,引脚拉低的时候,模块/开发板无法启动;

GPIO0/2引脚小结:跟启动相关,开发板/模块启动时都会被置高,如果被拉低则无法启动。推荐适合作为输出引脚。

GPIO1(TX):UART串口通讯的接收引脚TX,能作为输出引脚但不大推荐作为输出引脚使用,模块/开发板启动的时候会被置高,被拉低时模块/开发板无法启动;调试输出引脚;

GPIO3(RX):UART串口通讯的接收引脚RX,能作为输出引脚但不大推荐作为输出引脚使用,模块/开发板启动的时候会被置高;

GPIO1/3引脚小结:UART串口通讯的收发引脚,开发板/模块启动时都会被置高,被占用和错误操作的拉低会影响启动。推荐作为串口UART通讯引脚而不作他用。

GPIO4(D2):作为输入输出引脚都适合,通常被用作I2C的数据引脚,同时引脚还支持PWM输出;

GPIO5(D1):作为输入输出引脚都适合,通常被用作I2C的时钟引脚;

GPIO4/5引脚小结:I2C的时钟和数据引脚,同时也适合别作他用,用作输入输出引脚,同时4号脚支持PWM输出;

GPIO6-11 未在此图中被引出,因为它们用于连接大多数模块上的闪存芯片。如果将这些引脚用作 IO 使用将会导致程序崩溃。

需要注意的是,某些开发板和模块(ESP-12ED、NodeMCU 1.0)也会断开引脚 9 和 11。如果烧录芯片在 DIO 模式下工作(而不是 QIO,这是默认模式),则这些可以用作 IO。

GPIO6~11引脚小结:这些引脚是板载的存储操作引脚。通常就直接都没给引出来,想用也用不到,无需关心就别想了吧。在NODEMCU上,这些引脚实际上是被引出的,对应开发板S3,S2,S1,SC,S0,SK。建议慎重使用或者干脆无视。

GPIO12(D6):做输入输出引脚都合适,做SPI通讯数据引脚(MISO),同时引脚还支持PWM输出;

GPIO13(D7):做输入输出引脚都合适,做SPI通讯数据引脚(MISO);

GPIO14(D5):做输入输出引脚都合适,做SPI通讯时钟引脚(SCLK),同时引脚还支持PWM输出;

GPIO15(D8):做输入时被拉低,可以但不推荐作为输出引脚,SPI通讯功能里的片选引脚(CS),同时引脚还支持PWM输出;

GPIO12~15引脚小结:SPI引脚,除了15引脚作为片选引脚不能作为输入输出引脚,其他引脚都可作为输入输出,12、14、15引脚支持PWM输出;

GPIO16(D0):作为输入时无中断功能,作为输出的时候不支持I2C,PWM功能,同时在启动的时候也会被置高,用作从睡眠模式唤醒的功能引脚;不推荐作他用;

A0:模拟输入引脚,不能作为其他用途,A0引脚如果被频繁调用会影响模块正常工作,调用频率要求间隙时间大于5毫秒以保证模块工作正常;

另外需要注意的是A0引脚模块默认情况下读取电压范围只有01V,有些开发板会增加外围分压电路,建议在使用前做一个简单的读取测试,如:给个0.5V的电压到A0脚,如果读取值是512,则说明A0脚外围无外加的分压电路,允许的模拟量输入范围就是01V。

在Arduino IDE环境中,直接写引脚数字的代表的是GPIO引脚编号而非D引脚编号;

归纳汇总一下在启动时会有电平变化的引脚图片:

preview

@知乎-Nils:个人觉得8266及衍生的12系列模块开发板主要设计用途就是基于模块的联网功能处理一些基础的数据传输,单一用途的传感器数据监测,简单的数据处理、记录,图片显示等用途。受限于MCU性能,引脚数,存储等限制,直观的应用模型是带一个屏和单项监测传感器,屏显能联网上传下载数据,同时配个SD做数据记录存储,再带两路继电器/扬声器做简单控制或者播放简单声音的应用场景。开发相对复杂,功能更强大的应用,就有点捉襟见肘了。


相关链接

ESP8266引脚使用注意事项和推荐 - 知乎 (zhihu.com)

ESP8266 引脚排列参考:您应该使用哪些 GPIO 引脚

posted @ 2022-03-02 10:00  Dapenson  阅读(1982)  评论(0编辑  收藏  举报