通常のSleepモード、外部割り込みでWakeup
HAL_SuspendTick(); HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI); HAL_ResumeTick();
LowPowerSleepモード、外部割り込みでWakeup
HAL_SuspendTick(); HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI); HAL_ResumeTick();
Stopモード、外部割り込みでWakeup
StopモードではSYSCLKが停止するため事前にクロックを停止する必要がない。
但し、SYSCLKが初期化されるため、復帰時はMSI最大48MHzまたはHSI16MHzになっているため
IDEで生成されたSytstemClock_Config()をもう一度呼ぶ
HAL_PWREx_EnterSTOP1Mode(PWR_STOPENTRY_WFI); SystemClock_Config();