見出し画像

マックの趣味

esp_sleep_enable_ext1_wakeup

複数のピンでWakeupしたかったので、「esp_sleep_enable_ext1_wakeup」関数を使ってみた。

この引数が、BUTTON_PIN_BITMASK ESP_EXT1_WAKEUP_ANY_HIGHの二つです。 前者はBITマスクを計算しないといけないです ESP32 Deep Sleep with Arduino IDE and Wake Up Sources に詳しく書いてありました。

要約すると、GPIO 3 2と GPIO 3 3の場合、2^32 + 2^33 = 12884901888 (DEC) = 300000000 (HEX) なので、BUTTON_PIN_BITMASKの値は 0x300000000 になります。

ピンが増えればどんどん足していけばいいです。

二番目の引数は、ESP_EXT1_WAKEUP_ANY_HIGHとESP_EXT1_WAKEUP_ALL_LOW が取れます。前者はどれかのピンがHIGHならWakeup、後者はすべてのピンがLOWならWakeupのようです。

選択したGIOピンは内部PULL DOWNでは動作しませんでした。なので、外部抵抗でPULL DOWNしました。抵抗値は適当です(笑)


ランキングに参加中、クリックをお願いします。

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「マイコン」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事