原创 STM32如何进入sleep模式

2013-8-8 09:13 7031 21 21 分类: MCU/ 嵌入式

 

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条评论)

登录后参与讨论
我要评论
0
21
关闭 站长推荐上一条 /2 下一条