【Deep Sleepの使い方】
Deep Sleepの場合の条件は下記のようになります。
・RAMの内容は不定、ただし2ワードのDSGPRだけは保たれる
・ウェイクアップはリセットベクタから再開となる
この条件で動作させるには、下記のフローのようにします。
常にリセットから開始するループとし、スタート時にデバイスリセットか
Deep Sleepからのウェイクアップを判定します。
Deep Sleepの場合には、2ワードだけレジスタにデータを保存できますから、
そこに繰り返しの際に残しておきたいデータを保存しておき、再開時に
それを復旧させます。
その復旧したデータに基づいてアプリケーション機能を実行します。
アプリケーションの終了で、再度保存するデータをGSDPRに保存してから
Deep Sleepモードに入って、次のウェイクアップまで待ちます。