Wifky!

Arduino 外部割り込み

https://qiita.com/hotchpotch/items/977f5d1d29006c06d675

attachInterrupt


attachInterruptは、外部割り込みが発生時に実行する関数を指定する場合に使用します。なお、既に関数が指定されていた場合は置き換えられます。設定パラメータは次の通りです。

interrupt: 割り込み番号 0または1(*)
function: 割り込み発生時に呼び出す関数
mode: 割り込みを発生させるトリガ

modeは、割込みを発生させるトリガ設定に使用し、次のものから選択します。

LOW  ピンがLOWのとき発生
CHANGE  ピンの状態が変化したときに発生
RISING  ピンの状態がLOWからHIGHに変わったときに発生
FALLING  ピンの状態がHIGHからLOWに変わったときに発生

(*)使用可能な割込み番号
ほとんどのArduinoボード:
割り込み0(ピン2)
割り込み1(ピン3)

Example


int pin = 13;
volatile int state = LOW;

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

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

void blink()
{
state = !state;
}