Arduino外部中斷使用與外部中斷引腳資源
阿新 • • 發佈:2019-02-10
使用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;
}