zoukankan      html  css  js  c++  java
  • Nodemcu的GPIO接口介绍(ZT)

    http://www.basemu.com/nodemcu-gpio-interface.html

    Nodemcu的GPIO接口介绍

    通用输入/输出(GPIO)是集成电路上的一个引脚功能,它既可以是输入引脚,也可以是输出引脚,这些功能均可以在编写程序时进行控制。

    NodeMCU的开发工具包( Dev kit  )提供了对Nodemcu GPIO的支持。唯一需要注意的是,NodeMCU Dev kit引脚的编号与Nodemcu的内部GPIO编号不是一个编号。例如,NodeMCU Dev kit上的D0引脚被映射到ESP8266的内部GPIO引脚16。这和树莓派的BCM编号与GPIO编号不相同是一样的(树莓派GPIO),如下所示。

    Nodecu的GPIO接口

    下表给出了NodeMCU Dev Kit IO引脚和ESP8266内部GPIO引脚的映射关系:

    NodeMCU开发工具包上的Pin名称ESP8266 内部 GPIO Pin 编号
    D0 GPIO16
    D1 GPIO5
    D2 GPIO4
    D3 GPIO0
    D4 GPIO2
    D5 GPIO14
    D6 GPIO12
    D7 GPIO13
    D8 GPIO15
    D9/RX GPIO3
    D10/TX GPIO1
    D11/SD2 GPIO9
    D12/SD3 GPIO10

    ESP8266的GPIO(1,3,9,10)不能按常规的GPIO方式进行理解和使用,根据ESP8266的系统(SoC)设计,其内部包含了处理器芯片等组件,处理器大约有16条GPIO线路,其中一些GPIO规定默认用于与其他内部组件进行通信,比如与内部闪存的通信等。这样我们大约还有11个GPIO引脚可按常规GPIO进行使用,在这11个针脚中,又有2个针脚预留给串口RX和TX。因此,最后只剩下9个通用I/O引脚,即D0到D8。

    在实际使用中,从上图我们可以看到一些GPIO引脚同时兼备了其他功能,如RX, TX, SD2, SD3,这些引脚大多不作为GPIO使用,因为它们可用于其他进程。极端情况下,可使用 SD3 (D12)引脚,D12引脚主要用于响应GPIO/PWM/中断等功能。需要注意的是,D0|GPIO16引脚只能作为GPIO读/写使用,不支持任何特殊功能。

    来看一个在NodeMCU的D4引脚上的LED闪烁程序:

     
    uint8_t LED_Pin = D4; // declare LED pin on NodeMCU Dev Kit
     
    void setup() {
    pinMode(LED_Pin, OUTPUT); // Initialize the LED pin as an output
    }
     
    void loop() {
    digitalWrite(LED_Pin, LOW); // Turn the LED on
    delay(1000); // Wait for a second
    digitalWrite(LED_Pin, HIGH);// Turn the LED off
    delay(1000); // Wait for a second
    }
  • 相关阅读:
    http方法-get和post
    SVG
    canvas
    h5拖放
    jQuery表单事件
    html标签嵌套
    jquery.eq()
    jquery.index()
    Date对象
    json
  • 原文地址:https://www.cnblogs.com/chunk998/p/15783709.html
Copyright © 2011-2022 走看看