前の記事「ESP8266モジュール(ESP-WROOM-02)を試す その53 – ThingSpeakを使ってPCの状態を知る。 –」の派生というか、副産物だ。
Arduino IDEの機能なのかESP8266 coreの機能なのか区別すらよく分からないが、タクトスイッチを押して割り込みを発生させたので一応書いておく。
PICでは普通にやってることだが、Arduino IDEでは初めてだ。
とはいっても、非常に簡単。
setup()内に以下を追加する。
1 2 3 4 5 |
void setup() { //Interrupt GPIO12 pinMode(12, INPUT); attachInterrupt(12, Notice0, FALLING); } |
これで、プルアップしてあるGPIO12につないだタクトスイッチを押してGNDに落とすことで割り込みが発生してNotice0()が実行される。
FALLINGの他にCHANGEとRISINGが指定できる。
Notice0()はたったこれだけだ。
1 2 3 |
void Notice0(void){ QueueNotice = 0; } |
つまり、QueueNoticeをフラグにしてあり、タクトスイッチを押して初期化する。
はい、これだけ。
あまりに殺風景なので回路図。
そういえば、Arduino IDEで暗黙の宣言関連のエラーが出なくなったような。
ESP8266関連記事一覧へ
「ESP8266モジュールで外部割込み – ISR not in IRAM! –」
Tweet