返信先: 【質問】LTE-Mリーフの使用方法を教えてください

#11989
KDDI
参加者

     > サンプルのSleep_Resumeを手直して、Serial.println等を追加しました。DeepSleepからResume後、シリアルへの出力ができなくなってしまいます。また、加速度センサから値の取得とLTEの起動もできなくなってしまいます。センサとLTEについて、Setupの中のdigitalWrite(SENS_PWR_ON, LOW)とdigitalWrite(LTE_PWR_ON, LOW)はセンサとLTEの電力供給の設定と思っているから、その処理をやめると、LTEとセンサの動作ができるようになりました。

    は、DeepSleepからのResume後に各種デバイス機能を利用するためには、再度利用するデバイスの初期化作業が必要です。
    LpwaCtrl::enableSensor(), powerDown()をご利用ください。
    個別にdigitalWrite()で設定いただいても同様です。

    > これら設定とdigitalWrite(STM_RESET_N, LOW)/digitalWrite(PERI_PWR_ON, LOW)は何のためでしょうか?それを設定しなけらば、省電力に何の影響を与えるでしょうか

    STM_RESET_N:システムリセットするためのポート
    PERI_PWR_ON:外部リーフを使うためのポート
    の初期化処理となります(省電力とは直接関係ありませんが、動作安定化のために設定してください)。

    > シリアル出力に関して、どのようにしたら、出力に戻せるでしょうか

    Serial.begin();
    などで初期化してください。

    > もう一つ、SleepDevice.inoとの関係について、DeepSleepに入る場合は、pmctrl.powerDown(LPWA_OFF)にさせた意味があるでしょうか

    sleep_resume.ino : STM32の省電力機能確認サンプル
    SleepDevice.ino : LTE-Mモデムの省電力機能確認サンプル

    STM32側でDeepSleepに入る場合、結果的にLTE-Mも電源OFFされますので、特に意味はありませんが、
    明示的に処理しておいた方がコードとしては可読性があがるのではと思います。