Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

ESP8266モジュールで外部割込み - ISR not in IRAM! -

「ESP8266 割込み」で検索したら自分の記事が2番目に出て吹いた。
忘れてる。
ESP8266モジュール(ESP-WROOM-02)を試す その54 – ボタン押下による割り込み。 –
それは毎度のことだからいいんだけど、やってみたら見慣れないエラーに見舞われた。

検索してみたら、呼び出す関数の前に
ICACHE_RAM_ATTR
ってつけるようにとあった。
つけたらエラーは出なくなった。

なお、ここではESP8266ボードとしてこれを使った。

WeMosだかNodeMcuだかよくわからないESP8266モジュール。
WeMosだかNodeMcuだかよくわからないESP8266モジュール。2
いつも探すピンの説明図

このエントリーをはてなブックマークに追加

Posted under: ESP8266


4 comments

  • ciaocuntian on 2020年5月16日 at 10:37 AM said:

    Reply

    よく見つけてくれました、簡単ではなかったかと
    私がテストしたプログラムは以下です。他の方の参考になればと。8266はD4ピンとGRDとを手動で短絡ーオープンしてのテストです。
    int ledPin = 13;
    int interruptPin = 2;
    volatile byte state = LOW;

    void setup() {
    Serial.begin(115200);
    Serial.println(“Set Up started”);
    pinMode(ledPin, OUTPUT);
    pinMode(interruptPin, INPUT_PULLUP);

    attachInterrupt(digitalPinToInterrupt(interruptPin), blink,CHANGE);
    }

    void loop() {
    digitalWrite(ledPin, state);
    // Serial.print(” Input Pin #2 state=”);
    // Serial.println(state);
    }

    ICACHE_RAM_ATTR void blink() {
    state = !state;
    Serial.println(“Int activated”);
    }

    • コメントありがとうございます。
      「ISR not in IRAM!」でググっただけですが、お役に立てれば幸いです。

  • 通りすがり on 2020年8月18日 at 8:16 PM said:

    Reply

    ESP8266つかったMPU-6050のDMPでエラーはいてたので非常に役に立ちました、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.