首页 > SMT32如何进入sleep模式

SMT32如何进入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();                                

}

转载于:https://www.cnblogs.com/qiujiahong/archive/2012/03/03/2378386.html

更多相关:

  • 1. set的初始化 set可以这样初始化 set iset{ 1,2,3 }; set iset2 = { 1,2,3 }; 在初始化set的时候,若出现重复的元素 set iset3{ 1,2,3,3,3 }; set iset4 = { 1,2,3,3,3 };...

  •     Set 对象存储的值总是唯一的 Set 对象方法 方法描述add添加某个值,返回Set对象本身。clear删除所有的键/值对,没有返回值。delete删除某个键,返回true。如果删除失败,返回false。forEach对每个元素执行指定操作。has返回一个布尔值,表示某个键是否在当前 Set 对象之中。 Set 对象...

  • 我现在的vimrc配置文件 runtime! debian.vim "设置编码 set encoding=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 set fileencodings=utf-8,ucs-bom,chinese"语言设置...

  • ACCEPT acm作业 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=204 因为老师是在集合那里要我们做这道题。所以我很是天真的就以为要用集合做,结果发现网上都是用数组简单明了地实现了,显得我的代码,特么地超级恶心!!!!!!! 在这里存档一下,别人就不要看了...

  • USE [svnhost]GO/****** 对象:  StoredProcedure [dbo].[up_Page2005]    脚本日期: 05/21/2008 11:27:05 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE proc [dbo].[up_P...