1. 程式人生 > >Arduino外部中斷使用與外部中斷引腳資源

Arduino外部中斷使用與外部中斷引腳資源

使用attachInterrupt函式

函式引數

1,digitalPinToInterrupt(pin)   使用的中斷,傳入引腳號

2,ISR,中斷處理函式的名稱

3,觸發中斷的引腳狀態變化

  • LOW 引腳低電平觸發中斷
  • CHANGE 引腳電平變化觸發中斷
  • RISING 引腳電平由低到高觸發中斷
  • FALLING 引腳電平由高到低觸發中斷
  • HIGH 引腳低高平觸發中斷(Arduino Due 板子才有)

各板子的外部中斷引腳號

外部中斷引腳號

板子型號 int.0 int.1 int.2 int.3 int.4 int.5
Uno, Ethernet 2 3
Mega2560 2 3 21 20 19 18
32u4 based (e.g Leonardo, Micro) 3 2 0 1 7

 Arduino Due所有數字引腳,ArduinoZero所有數字引腳除了引腳4

示例程式如下

int pin = 13;
volatile int state = LOW;

void setup(){
    pinMode(pin,OUTPUT);
    attachInterrupt(digitalPinToInterrupt(pin), blink,CHANGE);
}

void loop(){
    digitalWrite(pin, state);
}

void blink()

{
    state = !state;
}