ESP8266 NodeMCU入门:使用中断

来自丢石头百科
  • 开启中断的方法如下:
 attachInterrupt(interrupt,function,mode)

其中mode可以为 HIGH、RISING、CHANGE、FALLING、LOW,分别指高电平、上升沿、电平变化、下降沿、低电平时触发。

  • 本实例,我们将D5口设置为输出PWM波形,使用杜邦线连接D2和D5,并通过中断定时向串口输出内容。
 int pwm_pin = D5;
 int int_pin = D2;
 long count = 0;
 void setup_pwm(){
   analogWriteFreq(500);
   analogWriteRange(100);
 }
 
 ICACHE_RAM_ATTR void trigger(){
     //每次触发中断时count加1,到达1000后复位成0,并在串口输出"Trigger"
     count ++;
     if(count >= 1000){
        count = 0;
        Serial.println("Trigger");   
     }
 }
   
 void setup() {
   Serial.begin(115200);
   setup_pwm();
   attachInterrupt(int_pin,trigger,RISING);
   analogWrite(pwm_pin, 50);
 }

串口将在每1000次触发中断时输出"Trigger"。

  • 可使用以下方法关闭中断:
 detachInterrupt(interrupt);