STM32如何进入sleep模式
网上说STM32 STOP模式和Standby模式的不少,却很少有人说怎么操作Sleep模式,东西不多,加一个函数而已,废话不多,下面就给出添加的函数,各位COPY到自己的项目用就是了!!
/*
* Brief : Enters SLEEP mode.
*/
#define PWR_SLEEPEntry_WFI ((uint8_t)0x01)
#define PWR_SLEEPEntry_WFE ((uint8_t)0x02)
#define SysCtrl_SLEEPONEXIT_Set ((u16)0x0002)
#define SysCtrl_SLEEPDEEP_Set ((u16)0x0004)
void PWR_EnterSLEEPMode(u32 SysCtrl_Set, u8 PWR_SLEEPEntry)
{
if (SysCtrl_Set)
SCB->SCR |= SysCtrl_SLEEPONEXIT_Set;
else
SCB->SCR &= ~SysCtrl_SLEEPONEXIT_Set;
SCB->SCR &= ~SysCtrl_SLEEPDEEP_Set;
if(PWR_SLEEPEntry == PWR_SLEEPEntry_WFI)
__WFI();
else
__WFE();
}
文章评论(0条评论)
登录后参与讨论