So-net無料ブログ作成
検索選択

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