• ESP8266-12F 中断


     

    外部中断:

    基于ESP8266的NodeMcu的数字IO的中断功能是通过attachInterrupt,detachInterrupt函数所支持的。除了D0/GPIO16,中断可以绑定到任意GPIO的引脚上【D0-D10】。所支持的标准中断类型有:CHANGE(改变沿,电平从低到高或者从高到低)、RISING(上升沿,电平从低到高)、FALLING(下降沿,电平从高到低)
     attachInterrupt(pin, function, mode);      设置触发中断的引脚

    pin:要设置中断编号,注意,这里不是引脚编号

    function:中断发生时运行的函数, 这个函数不带任何参数,不返回任何内容

    Interrupt type/mode:它定义中断被触发的条件方式

    CHANGE:改变沿,引脚电平从低变为高或者从高变为低时触发中断。
    RISING:上升沿,引脚电平从低变为高时触发中断。
    FALLING:下降沿,引脚电平从高变为低时触发中断

    返回值: 无

    detachInterrupt(pin);    取消指定引脚的中断

    pin:中断号

    返回值: 无

    digitalPinToInterrupt(pin);获取指定引脚的中断号

    pin:要获取中断号的GPIO引脚

    返回值: 中断号

    引脚对应的中断号:

    D1:5       D2:4       D4:2      D5:14       D6:12       D7:13     D8:15  

      

    例子一:

    将NodeMcu的D2引脚设置为上升沿中断。在D2上外接一个按键,按键通过电阻下拉到地。当发生中断的时候,我们在串口监视器上打印“Hello ESP8266”

    void setup() {
        Serial.begin(115200);//设置串口波特率
        attachInterrupt(digitalPinToInterrupt(D2), InterruptFunc, RISING);//设置中断号、响应函数、触发方式
    }
     
    void loop() {
      delay(2000);
        
    }
    void InterruptFunc(){   //中断响应函数
      Serial.println("Hello ESP8266");
    }

    不知道为何串口打印的数据 不对 ??????????? 

    天子骄龙

  • 相关阅读:
    Python float() 函数
    Python bytearray() 函数
    scanner.nextInt()与scanner.nextDouble
    Scanner对象next与nextLine
    JavaDoc
    包机制
    运算符要点
    变量与常量
    test
    类型转换
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11001989.html
Copyright © 2020-2023  润新知