首页 > 编程语言 >【NodeMcu-ESP8266】引脚使用参考指南——推荐收藏

【NodeMcu-ESP8266】引脚使用参考指南——推荐收藏

时间:2024-03-31 09:29:36浏览次数:29  
标签:const ESP8266 引脚 uint8 NodeMcu static GPIO

目录

概述       

一、ESP8266 12—E/F 模组引脚图

二、ESP8266 12-E/F NodeMCU 引脚图

三、ESP8266 core for Arduino 源码关于NodeMCU引脚设置的定义

四、ESP8266-NodeMCU引脚特性及使用建议

五、需要特别提醒和强调的几个具体问题

参考文档

概述       

        针对基于ESP8266的开发板和模组,本文主要对各GPIO引脚的合理规划使用和注意事项,作了详细归纳整理和详细 说明,对日常IOT开发具体重要的参考作用。
        ESP8266 12-E/F 提供了17个GPIO引脚,并非全部的GPIO引脚在全部开发板都会看到,有些GPIO不推荐使用,其他则有很独特的功能。通过这个使用说明,我们可以学会如何正确地使用ESP8266 GPIO引脚 ,在开发工程时尽量避免浪费时间。

一、ESP8266 12—E/F 模组引脚图

二、ESP8266 12-E/F NodeMCU 引脚图

三、ESP8266 core for Arduino 源码关于NodeMCU引脚设置的定义

/*
  pins_arduino.h - Pin definition functions for Arduino
  Part of Arduino - http://www.arduino.cc/

  Copyright (c) 2007 David A. Mellis
  Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015.

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General
  Public License along with this library; if not, write to the
  Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  Boston, MA  02111-1307  USA

  $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $
*/

#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#define PIN_WIRE_SDA (4)
#define PIN_WIRE_SCL (5)

static const uint8_t SDA = PIN_WIRE_SDA;
static const uint8_t SCL = PIN_WIRE_SCL;

#ifndef LED_BUILTIN
#define LED_BUILTIN 2
#endif
#define LED_BUILTIN_AUX 16

static const uint8_t D0   = 16;
static const uint8_t D1   = 5;
static const uint8_t D2   = 4;
static const uint8_t D3   = 0;
static const uint8_t D4   = 2;
static const uint8_t D5   = 14;
static const uint8_t D6   = 12;
static const uint8_t D7   = 13;
static const uint8_t D8   = 15;
static const uint8_t D9   = 3;
static const uint8_t D10  = 1;

#include "../generic/common.h"

#endif /* Pins_Arduino_h */

四、ESP8266-NodeMCU引脚特性及使用建议

        特别需要指出的是,基于ESP8266设计制作的各类开发板,其引脚丝印编号与芯片GPIO序号并没有保持一致性。例如,D0对应于GPIO16,D1对应于GPIO5。
        下表显示了NodeMCU1.0 ESP—12E/F 开发板丝印标签和GPIO编号之间的对应关系,以及在项目中最好使用哪些引脚,以及需要谨慎使用哪些引脚。其中,以绿色突出显示的引脚可以放心使用;黄色突出显示的引脚也可以使用,但您需要注意,因为它们可能主要在启动时有意外行为;红色突出显示的引脚,不建议用作输入或输出。

ESP8266-NodeMCU开发板引脚标签与芯片GPIO序号对应关系表

Label

(丝印)

GPIO

序号

Input

Output 

 Notes

D0GPIO16no interrupt

no PWM or

I2C support

HIGH at boot

used to wake up from deep sleep

D1GPIO5OKOKoften used as SCL (I2C)
D2GPIO4OKOKoften used as SDA (I2C)
D3GPIO0pulled upOKconnected to FLASH button, boot fails if pulled LOW
D4GPIO2pulled upOKHIGH at boot
connected to on-board LED, boot fails if pulled LOW
D5GPIO14OKOKSPI (SCLK)
D6GPIO12OKOKSPI (MISO)
D7GPIO13OKOKSPI (MOSI)
D8GPIO15pulled to GNDOKSPI (CS)
Boot fails if pulled HIGH
RXGPIO3OKRX pinHIGH at boot
TXGPIO1TX pinOKHIGH at boot
debug output at boot, boot fails if pulled LOW
A0ADC0Analog InputX

五、需要特别提醒和强调的几个具体问题

        1、连接到闪存芯片的GPIO。GPIO6到GPIO11,通常连接到ESP8266板中的闪存芯片FLASH。因此,不建议使用这些引脚。

        2、引导过程中使用的引脚所对应的GPIO。如果某些引脚被拉低或拉高,则可以禁止ESP8266正常启动。下面显示了MCU引导启动时(on boot)部分引脚的电平状态。
        GPIO16:引导启动时,引脚为高电平。
        GPIO0:  如果引脚电平被置为低电平,则会造成引导败。
        GPIO2:  引导启动时,引脚为高电平。如果引脚被置为低电平,则会造成引导失败。
        GPIO15:如果引脚被置为高电平,则会造成引导失败。
        GPIO3:  引导启动时,引脚为高电平。
        GPIO1:  引导启动时,引脚为高电平。如果引脚被置为低电平,则会造成引导失败。
        GPIO10:引导启动时,引脚为高电平。
        GPIO9:  引导启动时,引脚为高电平。

        3、引导时被置为高电平的引脚所对应的GPIO。 某些引脚在ESP8266引导时输出3.3V信号。如果这些引脚与继电器或其他外围设备连接,可能会产生诸如误动动等其它问题。 以下GPIO引脚,在引导启动时会输出高电平信号(HIGH):GPIO16、GPIO3、GPIO1、GPIO10、GPIO9。

        4、除了GPIO5和GPIO4之外,其他的部分GPIO在引导时会输出低电压信号,如果这些GPIO连接到晶体管或继电器,这可能是产生一些问题的。
        如果你想连接或操作继电器,GPIO4和GPIO5所对应的引脚(D1、D2)是最安全的。

        5、模拟输入引脚A0对应的GPIO。ESP8266仅支持在一个GPIO中进行模拟读取。GPIO被称为ADC0,模组或开发板丝印通常标记为A0。如果使用的是ESP8266芯片,则ADC0引脚的最大输入电压为0至1V。如果使用开发板如ESP8266 12-E NodeMCU套件,则电压输入范围为0至3.3V,因为这些板包含内部分压器。

        6、板载(On-board)LED灯。大多数ESP8266开发板都内置了LED,通常连接到GPIO2。需要说明的是,这个板载LED灯通常以反相逻辑工作,发送HIGH信号会将其熄灭,发送LOW信号将其点亮。

        7、RST引脚。当RST引脚被置为低电平时,将会复位ESP8266开发板,功能与按下板载的RESET按钮相同。

        8、D3引脚对应的GPIO0。当GPIO0对应的引脚D3被置为低电平时,将会使ESP8266设置为引导加载程序模式,功能与按下板载FLASH/BOOT按钮相同。

        9、D0引脚对应的GPIO16。GPIO16可用于将ESP8266从深度睡眠中唤醒,要将ESP8266从深度睡眠中唤醒,GPIO16应连接到RST引脚。

        10、I2C通信。ESP8266没有硬件I2C引脚,但可以用软件实现。因此,您可以将任何GPIO用作I2C。通常,以下GPIO用作I2C引脚:GPIO5:SCL, GPIO4:SDA。

        11、SPI通信。在ESP8266开发板相,这些引脚通过用于 SPI通信连接,一般对应关系为:GPIO12:MISO,GPIO13:MOSI,GPIO14:SCLK,GPIO15:CS。

        12、PWM引脚。ESP8266允许在所有I/O引脚中使用软件PWM(但GPIO16除外),GPIO0到GPIO15。ESP8266上的PWM信号具有10位分辨率。

        13、中断引脚。ESP8266支持除GPIO16以外的任何GPIO中的中断。   

参考文档

1、ESP8266 Pinout Reference: Which GPIO pins should you use?
2、ESP8266 core for Arduino 部分源代码

标签:const,ESP8266,引脚,uint8,NodeMcu,static,GPIO
From: https://blog.csdn.net/qq_15776011/article/details/137050657

相关文章

  • ESP8266首试
    软件环境搭建安装arduino官网下载安装Software|Arduino自己找适合的版本即可。中文设置打开arduino,file->preference,里面有个编辑器语言的,依需要设置。安装开发板在工具->开发板中,默认的开发板没有esp8266,所以需要手动添加。官方项目esp8266/Arduino:ESP8266core......
  • ESP8266使用笔记
    ESP8266介绍上图所示的是ESP-01s,我目前使用的是由安信可科技公司开发的模块,搭有板载天线。可以由AP/STA/AP+STA三种工作模式。其中AP工作模式是作为WIFI的客户端存在,其他设备主动链接在AP设备上,可以接收AP设备发送的消息,也可以反过来给AP设备发送消息。STA工作模式则是以一个TC......
  • 引脚数量最少的单片机
    引脚数量最少的单片机2款SOT23-6封装单片机介绍参考价格PMS150C-U06整盘单价:¥0.19688,该芯片为中国台湾品牌PADAUK(应广)SQ013L-SOT23-6-TR整盘单价:¥0.27876,该芯片为国产:holychip(芯圣电子)上述价格为2024-3-29参考价格,有量的情况下,都可以和厂家谈有时候我们遇到SO......
  • Xilinx ZYNQ 7000+Vivado2015.2系列(十)MIO/EMIO再识,MIO的引脚“复用”,EMIO当作PS的接口
    前面我们介绍过EMIO,但是不详细。MIO是PS的IO接口,这个M代表的是Multiuse,也就是多用途,在下图中我们可以看到54个MIO连接这么多东西,必须得复用,所以当我们开发的时候需要的功能配置上,不需要的去掉,防止IO口被占用。板子用的是zc702。下面我们双击ZYNQ核:我们到MIO的配置里,把其......
  • NCV8702MX33TCG电源管理线性稳压器芯片中文资料PDF数据手册引脚图图片价格
    产品概述:NCV8702是一款200mA低漏静止电流、低漏线性稳压器,带超低噪声特性。它的低噪音结合高电源抑制比(PSRR)使其特别适用于射频、音频或成像应用。该器件采用先进的BiCMOS工艺制造,可提供低电流耗量和卓越噪声性能的强大组合。NCV8702可稳定使用小型低值1µ电容器......
  • NCV7718CDPR2G半桥驱动器规格书PDF数据手册引脚图图片价格参数概概述
    产品概述:NCV7718是一款六角半桥驱动器,具有专为汽车和工业运动控制应用设计的保护功能。NCV7718具有独立的控制和诊断功能。该器件可在正向、反向、制动和高阻抗状态下运行。驱动器通过16位SPI接口进行控制,并且菊花链兼容规格书参数:引脚图:......
  • NCV7351D13R2G收发器芯片中文资料规格书PDF数据手册引脚图参数图片价格特性
    产品概述:NCV7351CAN收发器是控制器区域网络(CAN)协议控制器和物理总线之间的接口,可在12V和24V系统中使用。该收发器为总线提供差分发射功能,向CAN控制器提供差分接收功能。NCV7351是CAN高速收发器系列的新增产品,是NCV734xCAN独立收发器和AMIS42665、AMIS306......
  • NCV8703MX33TCG 线性稳压器芯片中文资料规格书PDF数据手册引脚图图片价格
    产品概述:NCV8703是一款低噪音、低功耗和低漏线性稳压器。该器件具有优异的噪音和PSRR规格,适用于使用射频接收器、成像传感器、音频处理器或需要外部洁净电源的任何部件的产品。NCV8703使用创新的自适应接地电流电路可确保轻负载调节下的超低接地电流。规格书参数:引脚图......
  • 程序跑飞原因总结 && 引脚配置&&中断&&while循环&&数组越界 &&硬件原因
    2023.11月开始做了新项目,技术不到家导致程序多次跑飞,现在总结如下一、引脚配置错误错误原因:同一个引脚初始化两次1.硬件原理图变更,引脚功能变动,改动时不仔细2.代码规范不好:对于引脚的宏定义封装不好,除了.h文件还在其他地方出现数字引脚错误现象:1.程序跑飞2.调试时将新增......
  • ESP8266 + L298N实现WIFI遥控小车
    参考资料:https://blog.csdn.net/m0_60790717/article/details/126914314https://blog.csdn.net/weixin_52801934/article/details/126180831 ESP8266实物和引脚图(图像来源于百度图片): L298N实物和引脚图(图像来源于百度图片): 硬件连接:L298N连接两个电机,来控制小车的两......