それぞれのざっくりしたイメージは以下のようになる
・Modem-Sleep
→無線通信関連の部分(モデム部分)をスリープ
・Light-Sleep
→CPU部分を含めてスリープ
・Deep-Sleep
→RTC(リアルタイムクロック)部分以外をすべてスリープ
下にいくほど深いスリープとなる
各モードでの消費電流は以下の表を参照
データシートより/状態別の消費電流 |
3種のスリープはDeep-Sleepとそれ以外で扱いが大きく異なる
Deep-SleepはRSTピンに対するリセット信号が入力されないと復旧しない
この復旧処理はほぼ通常時のリセット動作と同じ
プログラムは冒頭から再実行される
(※復旧時にいくつか設定を保持しているような記述があり調査中)
RTCは自分で任意時間後にリセット信号を出力するために用いる
スリープするトリガーはユーザーのESP.deepSleep()関数実行による
プログラムは冒頭から再実行される
(※復旧時にいくつか設定を保持しているような記述があり調査中)
RTCは自分で任意時間後にリセット信号を出力するために用いる
スリープするトリガーはユーザーのESP.deepSleep()関数実行による
Modem-SleepとLight-Sleepは無線通信などの割り込みによって復旧する
Deep-Sleepとは異なりプログラムがリセットされることは無い
スリープ自体も自動的に行われるため、スリープ/復旧ともにユーザーが意識することは無い
スリープ自体も自動的に行われるため、スリープ/復旧ともにユーザーが意識することは無い
スリープというよりは未使用のリソースをサスペンドする省電力動作モードのイメージの方が近い
スリープに入っても無線接続等は維持される
スリープに入っても無線接続等は維持される
スリープ時にどちらのスリープに入るか(またはスリープしないか)の設定が可能
実際の処理および消費電流の実測は次回
0 件のコメント:
コメントを投稿