一.待机模式.待机模式是低功耗中最低功耗的,内部电压调节电路被关闭,  HSE、HIS、PLL被关闭;进入待机模式后,SRAM和寄存器的内容将丢失。  (CPU停止,外设停止,RAM的数据寄存器的内容丢失)

1.特点:SRAM和寄存器的内容会丢失。外设不供电,只有CPU的备用电源在运行

2.唤醒条件:NRTS的外部复位信号,IWDG复位、WKUP引脚上的一个上升边沿或者RTC闹钟。唤醒后相当于软重启使系统复位。

3.使用步骤:

3.1 #include <stm32f10x_pwr.h>
void Standby_Config(void)
{
    // 使能PWR时钟与BKP时钟
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
    //使能后备寄存器访问
    PWR_BackupAccessCmd(ENABLE);
    // 使能WKUP引脚
    PWR_WakeUpPinCmd(ENABLE);
    // 检测Standby标志位
    if(PWR_GetFlagStatus(PWR_FLAG_SB) != RESET)
    {
        printf("\r\n从待机模式退出\r\n");
        //清除Standby标志位
        PWR_ClearFlag(PWR_FLAG_SB);
    }
    else
    {
        printf("\r\n从运行模式复位\r\n");
    }
}

3.2 进入睡眠模块。PWR_EnterSTANDBYMode();//使能待机模式

3.3 满足唤醒条件,进入软重启!

二 睡眠模式:相当于中场休息。退出睡眠后还得做好恢复退出时的状态(初始化系统时钟即可)

2.1特点:只有CPU停止工作,所有外设处于工作状态,SRAM和寄存器的内容保持不变。

2.2.唤醒条件:所以的外部中断,包括RTC中断.唤醒后需要初始化系统时钟。

2.3使用步骤:

2.3.1 在干完必须得工作后,通过    __WFI();//进入睡眠模式,后面的代码不执行

2.3.2 唤醒条件发生,比如外中断发生,在中断服务程中通过调用Stop_SysClkConfing()函数退出睡眠模块,执行__WFI()后面的功能。Stop_SysClkConfing()实际上就是重新初始化系统时钟即调用SystemInit()。

三 停止模式:相当于深度睡眠,放长假,比“”中场休息(睡眠模块)“”的时间长

3.1特点:停止内部1.8V供电,HSE、HIS、PLL时钟被关闭CPU时钟停止,外设全部不工作;只有CPU内存工作,数据不丢失。

3.2唤醒条件:任意的外部中断,RTC闹钟,PVD输出,USB唤醒条件。

3.3时钟步骤:与睡眠模式的操作基本相同,唯一区别就是进入睡眠时调用的函数不一样,停止模式调用的是以下函数

PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

四 RTC定时中断:
STM32L152 RTC 日历和定时中断使用 https://blog.csdn.net/jnu_fangzebin/article/details/51543506

stm32的低功耗模式:的更多相关文章

  1. STM32的低功耗模式

    一 待机模式standby和STOP模式的区别: 进入低功耗模式:都一样,都是先关闭相应时钟,关闭相应外设,配置相应所有IO口(浮动输入),然后配置相应的唤醒中断源,中断影响的O口,然后调用相应函数进 ...

  2. 【原创】STM32低功耗模式及中断唤醒(基于BMI160及RTC)的研究

    预研目标 六轴静止时,终端进入低功耗模式:六轴震动时,终端正常工作模式,从而极大减少非工作时的电流消耗. 解决方案 机器静止时,依据六轴算法,CPU进入休眠(停止)模式:机器工作时,触发六轴中断唤醒C ...

  3. FreeRTOS低功耗模式

    在系统或电源复位以后,微控制器处于运行状态.当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时,用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳 ...

  4. STM32低功耗模式与烟雾报警器触发信号电路设计

    1.STM32的3种低功耗模式 STM32有3种低功耗模式,分别是睡眠模式.停机模式和待机模式. 2.STM32在不同模式下的电流消耗 a.工作模式  消耗电流在27mA至36mA之间. b.睡眠模式 ...

  5. STM32的低功耗设置

    因为产品需求,系统功耗是一个很重要的考虑方面.好好看下STM32F103的低功耗问题,以便编写驱动. 1.STM32的电源 1.1 STM32电源框图 上面的电源中需要注意的是后备供电区域,这个部分由 ...

  6. android wifi SWOL低功耗模式

    1 睡眠模式RX代码流程 ar_wal_rx_patch.c::patch_rx_process_recv_status//调用rx_ctxt->data_ind_handler -> d ...

  7. msp430f149的低功耗模式

    430的低功耗确实很强啊,虽然和VR单片机比起来速度慢了好多.在CPU进行工作时,如果没有什么事情干,就得进入低功耗模式啦,LMPX(0~4)这几种模式的具体事项就是如下的,得记住了. 一,运行模式M ...

  8. android蓝牙的调试(博通蓝牙工作 and 低功耗模式)

    首先结合项目从整体上去把握这部分: 蓝牙模块中一个比较核心的文件是bluetooth.c, 在我们上电的时候, 会调用这个文件中bt_enable()这个函数, 在这个函数里面先调用set_bluet ...

  9. 【Debug】串口发送数据时部分字节被拉长,出现帧错误,原因MCU进入低功耗模式导致串口时钟停了!

    串口发送数据时部分字节被拉长,出现帧错误,原因MCU进入低功耗模式导致串口时钟停了!

随机推荐

  1. hdu5776sum

    题目连接  抽屉原理:如果现在有3个苹果,放进2个抽屉,那么至少有一个抽屉里面会有两个苹果 抽屉原理的运用 现在假设有一个正整数序列a1,a2,a3,a4.....an,试证明我们一定能够找到一段连续 ...

  2. HihoCoder1653 : 公平分队([Offer收割]编程练习赛39)(贪心)

    描述 小Hi和小Ho在玩一个战争游戏.游戏中2N个战斗单位,其中第i个单位的战斗力是Ai. 现在小Hi和小Ho要各选N个单位组成队伍,当然他们都希望自己队伍的总战斗力越大越好. 为了使分队更加公平,经 ...

  3. Java网络与多线程系列之1:实现一个简单的对象池

    前言 为什么要从对象池开始呢,先从一个网络IO操作的demo说起 比如下面这段代码,显而易见已经在代码中使用了一个固定大小的线程池,所以现在的重点在实现Runnble接口的匿名对象上,这个对象每次创建 ...

  4. linux 命令2

    who who am i ssh scott@192.168.1.105 ps aux | grep pts/8 pwd // where are you? Page 205 mkdir -p dir ...

  5. python的paramiko模块的安装与使用

    一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...

  6. QualType in clang

    http://clang.llvm.org/docs/InternalsManual.html#the-qualtype-class the QualType class is designed to ...

  7. Poll:&nbsp;Most&nbsp;Americans&amp;n…

    Most Americans support tough new measures to counter gun violence, including banning assault weapons ...

  8. 阿里云 centos7.2 云安装mysql

    [root@iZ28gvqe4biZ ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm获取h ...

  9. Linear Algebra - Matrix

    1. 矩阵 定义:有 \(m*n\) 个数 \(a_{ij}(i=1,2,\cdots,m; j=1,2,\cdots,n)\) 排成的 \(m\) 行 \(n\) 列的数表 \[ \begin{Bm ...

  10. python反编译之字节码

    如果你曾经写过或者用过 Python,你可能已经习惯了看到 Python 源代码文件:它们的名称以.Py 结尾.你可能还见过另一种类型的文件是 .pyc 结尾的,它们就是 Python "字 ...