SSブログ

ESP-WROOM-02 でタイマー割り込みを使ってみた [Arduino]

ESP-WROOM-02 でタイマー割り込みを使ってみました。タイマー割り込みが使えるとセンサーを使ったアプリケーションの幅が広がります。


ESP-WROOM-02.jpg


割り込み処理はプロセッサーに依存しますので、ATmega で使っていたお作法は使えません。グーグル師匠に相談してみたところ、以下スレッドを紹介されました。


Timer0 interrupts? Getting watchdog resets.
http://www.esp8266.com/viewtopic.php?f=8&t=4865


上記のやり取りを参考に、早速スケッチを書いてみました。

#define LED 16

bool toggle = false;

void timer0_ISR (void) {
  if (toggle) {
    digitalWrite(LED, HIGH);
    toggle = false;
  } else {
    digitalWrite(LED, LOW);
    toggle = true;
  }
  timer0_write(ESP.getCycleCount() + 80000000L); // 80MHz == 1sec
  Serial.println("timer0_ISR");
}

void setup() {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
  noInterrupts();
  timer0_isr_init();
  timer0_attachInterrupt(timer0_ISR);
  timer0_write(ESP.getCycleCount() + 80000000L); // 80MHz == 1sec
  interrupts();
}

void loop() {}


さて、実際に動作するか見てみましょう。1秒おきにLEDが点滅するはずです。



きちんと動いたようですね。次は心拍センサーとかを動かしてみようかな?
σ(^_^)





ESP-WROOM-02実装済みmikroBUS(R)対応ブレークアウトボード

ESP-WROOM-02実装済みmikroBUS(R)対応ブレークアウトボード

  • 出版社/メーカー: マイクロテクニカ
  • メディア: おもちゃ&ホビー



FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス







nice!(36)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 36

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。