ESP8266芯片的GPIO引脚可用作数字输入来读取引脚电平,也可用作数字输出向外围电路发出控制信号。在这一点上,GPIO引脚与Arduino开发板的引脚功能十分类似。
请留意:在很多介绍ESP8266以及NodeMCU的资料里会出现两种引脚命名方法。一种是GPIO编号,一种是NodeMCU引脚名。请注意这两者是不同的,请千万不要混淆。

GPIO编号指的是ESP8266芯片的引脚编号如下图所示:


而NodeMCU引脚名指的是电路板上印刷的引脚名称。如下图所示:

简而言之,只要您看到GPIO这几个字母,就说明是芯片引脚,而没有GPIO这几个字母,那肯定是指开发板引脚。

那么,我们为什么要花这么多时间讲解开发板引脚名和GPIO号的对应关系呢?

将来我们在编写NodeMCU开发板的控制程序时,经常会进行引脚操作。如以下程序语句。

digitalWrite(4,HIGH)

以上语句通过digitalWrite函数将引脚4设置为高电平。那么您知道这个数字4到底是指GPIO4还是指开发板D4引脚呢?

答案是GPIO4而不是D4。

通过下面这个GPIO编号与开发板引脚对应图我们不难看出。以上语句实际是将NodeMCU开发板的D2引脚设置为高电平。因为D2对应的时GPIO4。如下图所示:

如果要对D2引脚设置为高电平,您可以使用以下语句。

digitalWrite(D2, HIGH)

可用引脚
ESP8266芯片有17个GPIO引脚(GPIO0~GPIO16)。这些引脚中的GPIO6~GPIO 11被用于连接开发板的闪存(Flash Memory)。如果在实验电路中使用GPIO6~GPIO11,NodeMCU开发板将无法正常工作。因此建议您不要使用GPIO6~GPIO 11。

电压电流限制
NodeMCU开发板引脚的输入输出电压限制是3.3 V。如果向引脚施加3.6V以上的电压就有可能对芯片电路造成损坏。同时请注意,这些引脚的最大输出电流是12mA。

由于NodeMCU开发板的引脚允许电压和电流都是低于Arduino开发板的引脚,所以如您想要将NodeMCU与Arduino引脚相互连接,请特别注意这两个开发板的引脚电压和电流的区别。如果操作不当可能会损坏NodeMCU开发板。

特殊引脚情况说明
GPIO2引脚 在NodeMCU开发板启动时是不能连接低电平的。

GPIO15引脚在开发板运行中一直保持低电平状态。因此请不要使用GPIO15引脚来读取开关状态或进行I²C通讯。

GPIO0引脚在开发板运行中需要一直保持高电平状态。否则ESP8266将进入程序上传工作模式也就无法正常工作了。您无需对GPIO0引脚进行额外操作,因为NodeMCU的内置电路可以确保GPIO0引脚在工作时连接高电平而在上传程序时连接低电平。

上拉电阻/下拉电阻
GPIO 0-15引脚都配有内置上拉电阻。这一点与Arduino十分类似。GPIO16 引脚配有内置下拉电阻。

模拟输入
ESP8266 只有一个模拟输入引脚(该引脚通过模拟-数字转换将引脚上的模拟电压数值转化为数字量)。此引脚可以读取的模拟电压值为 0 – 1.0V。请注意:ESP8266 芯片模拟输入引脚连接在1.0V以上电压可能损坏ESP8266芯片。

以上所描述的是针对ESP8266芯片的引脚。而对于NodeMCU开发板引脚,情况就不同了。

NodeMCU开发板配有降压电路。您可以用NodeMCU开发板的模拟输入引脚读取0-3.3V的模拟电压信号。

通讯
*串行端口

ESP8266有2个硬件串行端口(UART)。

串行端口0(UART0)使用GPIO1和GPIO3引脚。其中GPIO1引脚是TX0,GPIO3是RX0。

串行端口1(UART1)使用GPIO2和GPIO8引脚。其中GPIO2引脚是TX1,GPIO8是RX1。请注意,由于GPIO8被用于连接闪存芯片,串行端口1只能使用GPIO2来向外发送串行数据。

*I²C
ESP8266只有软件模拟的I²C端口,没有硬件I²C端口。也就是说我们可以使用任意的两个GPIO引脚通过软件模拟来实现I²C通讯。ESP8266的数据表(datasheet)中,GPIO2标注为SDA,GPIO14标注为SCL。

*SPI
ESP8266的SPI端口情况如下:

GPIO14 — CLK
GPIO12 — MISO
GPIO13 — MOSI
GPIO 15 — CS(SS)

【嵌入式物联网】NodeMCU开发板引脚介绍和主要技术参数相关推荐

  1. NodeMCU开发板详解

    NodeMCU开发板详解 数字输入输出引脚(GPIO) 如下图所示,ESP8266芯片四周分布很多引脚.这些引脚大部分可用作输入输出使用.这些用作输入输出的引脚统称为GPIO. ESP8266芯片的G ...

  2. NodeMCU开发板详解(ESP8266开发篇)

    1.ESP8266芯片 2.开发板介绍 此板子的size - 引脚信息 当引脚以数字输出模式工作时,低电平是0V (灌电流),高电平是3.3V (拉电流). digitalWrite(4,HIGH)操 ...

  3. python 开发版-MicroPython开发之物联网快速开发板

    Python的火热让其运行在MCU端的MicroPython也逐渐迎来了春天.MicroPython的出现让Python这种"胶水语言"成功引用到嵌入式领域,也使得Python控制 ...

  4. ESP8266 Nodemcu 开发板 + Blinker 电脑远程开机支持小爱同学和手机APP

    文章目录 前言 一.物联网是什么? 二.效果展示 1.使用的硬件 2.接线展示 三.TMP模块供电,状态检测 四 代码解析 1. 指定PIN,定义一些按钮 2.这是小爱同学的代码,BLinker还支持 ...

  5. ESP8266 NodeMCU开发板连接手机热点问题

    ESP8266 NodeMCU开发板连接手机热点问题 前言: 众所周知,esp是构建一个IOT工程里得力助手之一,通俗点来说就是:"WIFI模块" 不过下面要讲的是esp8266中 ...

  6. 开源 | 嵌入式物联网应用开发 - 无线收发模块

    上一篇文章讲述了ARM-Linux中控扩展模块的开发设计,上一篇文章的具体内容,请参考以下链接: 开源 | 嵌入式物联网项目开发 - ARM中控扩展模块 为了提高硬件模块的可重用性,对于终端设备模块的 ...

  7. STM32F4 | 最小系统设计 | 开发板资源介绍 | 开发环境搭建 | 程序下载

    文章目录 一.STM32最小系统设计 1.什么叫MCU最小系统? 2.STM32最小系统 2.1 供电电路(电源部分) 2.2 复位电路 2.3 时钟电路 2.4 BOOT启动模式选择 2.5 下载电 ...

  8. HaaS EDU物联网教育开发板来啦!漂亮的不像开发板!

    2021年3月,HaaS EDU K1物联网教育开发板将正式上线. 一款集颜值和内涵于一身的物联网开发利器,云端一体全链路解决方案的积木平台. 下面我们一起来认识下这个小可爱吧! 有别于传统的裸板开发 ...

  9. stm32开发板能干什么?stm32开发板功能介绍

    很多开发者对于STM32开发板还都不了解,具体哪一款好用?怎么选择?让很多工程师感到困惑,今天就给大家介绍一款DFRobot商城新品,适合有经验的STM32玩家使用的一款开发板-STM32F411开发 ...

最新文章

  1. C++有的地方为什么要类内定义,类外实现(类内声明,类外初始化)?
  2. RHEL6 让 root可以登录桌面
  3. 超云将成为数据中心演化的下一个阶段
  4. Iris recognition papers in the top journals in 2017
  5. method=post 怎么让查看源代码看不到_网上文档无法复制怎么办?试试这几个方法!...
  6. c++ list sort方法
  7. 频繁模式增长Frequent-Pattern Growth(FP-Growth)
  8. python从2 1 2 2 2 63_Python从零开始第三章数据处理与分析python中的dplyr(2)
  9. Topcoder SRM 637 (Div.2)
  10. Node.js:Node核心模块
  11. Windows Server 2008 R2入门之FTP服务器
  12. ios安全机制不支持antofocus
  13. 万年历c语言 输出单月,求帮忙差错,打印万年历,输入某年某月,打印该月日历...
  14. 关于数模中编程的一点愚见
  15. struts2中的actionSupport
  16. c语言程序中不能表示数制的是,2017计算机c语言二级考试题库及答案
  17. ngrok服务的编译与环境搭建
  18. 【IT之路】Docker拉取镜像查看版本
  19. 双稳态电路的两个稳定状态是什么_555时基电路内部结构及其工作原理
  20. 微信小程序累计独立访客(UV)不低于 1000 是什么意思?

热门文章

  1. 十七项网页恶意代码,别去害人啊!
  2. python实现B站Bv号转Av号
  3. 休闲零食加盟店项目该如何选择品牌?
  4. 编程 学习视频教程大全
  5. 算力网络 — 东数西算政策
  6. 微型计算机原理与应用实验指导书,微机原理与应用实验指导书-20180316.doc
  7. Qt Designer入门教程 初学者必看
  8. Matlab绘制垂直的直线图
  9. css中style怎么用,css中style标签的使用方法
  10. libp2p-rs kad使用及调试方法