说明:
使用LPTIM的好处是系统处于睡眠,停机状态依然可以正常工作(除了待机模式)
停机状态可以正常工作的关键是LSE,LSI时钟不会被关闭,同时也可以选择使用外部时钟源。
几种低功耗模式,比较重要,放在前面说明:
休眠模式
(1)进入方式
HAL_PWR_EnterSLEEPMode(Regulator, SLEEPEntry)
参数Regulator
STM32H7用不到这个参数,是为了跟STM32L系列的API保持兼容。
参数SLEEPEntry
PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction
PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction
(2)退出方式
任何受NVIC控制的中断都可以唤醒休眠模式。
停机模式
在系统停止模式下,1.2V域中的所有时钟都停止,PLL,HSI和HSE RC振荡器被禁用。 内部SRAM和寄存器内容保留。
电压调节器可配置为正常或低功耗模式。为了进一步降低停机模式下的功耗,可以使用函数HAL_PWREx_EnableFlashPowerDown先关闭FLASH电源,再进入停止模式。退出停止模式后,再使用函数HAL_PWREx_DisableFlashPowerDown()打开。
(1)进入方式
函数HAL_PWR_EnterSTOPMode(Regulator, STOPEntry)
参数 Regulator:
PWR_MAINREGULATOR_ON: Main regulator ON.
PWR_LOWPOWERREGULATOR_ON: Low Power regulator ON.
参数STOPEntry:
PWR_STOPENTRY_WFI: enter STOP mode with WFI instruction
PWR_STOPENTRY_WFE: enter STOP mode with WFE instruction
(2)退出方式
在中断/事件模式下配置的任何EXTI Line(内部或外部)。
待机模式
系统待机模式允许实现最低功耗。它是基于Cortex-M7深度睡眠模式下,禁用电压调节器,因此系统断电。
PLL,HSI振荡器和HSE振荡器也被关闭。
SRAM和寄存器内容丢失,除了RTC寄存器,RTC备份寄存器,备份SRAM和待机电路。
进入方式:
使用HAL_PWR_EnterSTANDBYMode()函数输入待机模式。
退出方式:
WKUP引脚上升沿或下降沿,RTC Alarm(Alarm A和Alarm B),RTC唤醒,入侵事件,时间戳事件,NRST引脚的外部复位,IWDG复位。
1.jpg (33.67 KB, 下载次数: 0)
下载附件
2019-1-4 00:43 上传 |