因为产品需求,系统功耗是一个很重要的考虑方面。好好看下STM32F103的低功耗问题,以便编写驱动。

  1、STM32的电源

1.1 STM32电源框图

上面的电源中需要注意的是后备供电区域,这个部分由VBAT独立供电,跟软件有关的是后备寄存器、RCC_BDCR寄存器、整个RTC模块(包括很多寄存器后面介绍)。

     当使用电池或者其他电源连接到VBAT上时,当VDD断电时,可以保持后备寄存器中的内容和维持RTC功能。BVAT与VDD之间的切换由复位模块中的掉电复位功能控制。

  1.2  电压调节器

STM32的3种工作模式,运转模式和3种低功耗模式--停止模式和待机模式,还有个睡眠模式,他们都和电压调节器有关。停机模式消耗电流大约在mA级别,而待机模式消耗电流在uA级别。注意上面的说明:“调节器停止供电。除了备用电路和备份域外,寄存器和SRAM的内容全部丢失”。这句话意味着,从待机模式回到正常运转模式时,程序先前配置过的寄存器都将恢复到默认值。比如,你配置了串口,而从待机模式叫醒时,需要重新配置串口,程序里使用的SRAM区域变量全部不能使用了。这就需要 当我们进入到待机模式前,可以把必要的数据保存到备份供电区域。备份区域就是给你这么用的。

STM32的低功耗设置的更多相关文章

  1. STM32启动地址设置及从非0x800000 开始调试程序

    首先设置程序的启动地址,STM32默认的启动地址是从0x8000000开始的,现在我要设置程序向后偏移10K地址,也就是从0x8002800启动. 需要分两步完成上面操作: 一.Keil MDK设置: ...

  2. MSP430主系统时钟以及430的低功耗设置

    如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可 ...

  3. STM32 CAN 波特率设置及采样点设置

    一.CAN波特率 STM32 位时间定义: ● 同步段(SYNC_SEG):通常期望位的变化发生在该时间段内.其值固定为1个时间单元(1 x tCAN).● 时间段1(BS1):定义采样点的位置.它包 ...

  4. zigbee ------ JN5169低功耗设置

    低功耗睡眠设置Power Manager (PWRM) PWRM_vInit() 如果进入睡眠模式,设置芯片进入何种睡眠模式 PWRM_eScheduleActivity()设置进入睡眠多长时间(时钟 ...

  5. STM32的低功耗模式

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

  6. STM32内部时钟设置-寄存器版

    STM32寄存器版本——内部时钟设置 同时要记得把延时初始化函数设置好 //系统时钟初始化函数 //pll:选择的倍频数,从2开始,最大值为16 //pll:选择的倍频数,这里使用内部时钟,PLL为4 ...

  7. IAR STM32 ------ CSTACK HEAP 设置一次可用栈的大小,HardFault_Hander

    CSTACK:限制函数中定义数组的最大值,否则进入HardFault_Hander HEAP:限制动态分配内存(C函数库中的malloc)的大小,不用可以设置为0

  8. CC2530低功耗设置(针对终端设备)

    一. 终端设备只完成发送数据 1.开启POWER_SAVING 预编译 2.f8wConfig_cfg 中的RFD_RCVC_ALWAYS_ON=FALSE 3.f8wConfig_cfg中四个DPo ...

  9. STM32串口的设置和库函数的介绍

    串口设置的一般步骤可以总结为如下几个: 1) 串口时钟使能, GPIO时钟使能  2) 串口复位 3)GPIO 端口模式设置 4) 串口参数初始化  5) 开启中断并且初始化 NVIC(如果需要开启中 ...

随机推荐

  1. BZOJ 2286 [Sdoi2011]消耗战 ——虚树

    虚树第一题. 大概就是建一颗只与询问有关的更小的新树,然后在虚树上DP #include <map> #include <ctime> #include <cmath&g ...

  2. POJ 2409 Let it Bead ——Burnside引理

    [题目分析] 裸题直接做. 一个长度为n,颜色为m的环,本质不同的染色方案是多少. 数据范围比较小,直接做就好了. [代码] #include <cstdio> #include < ...

  3. [luoguP2331] [SCOI2005]最大子矩阵(DP)

    传送门 orz不会做... 一个好理解的做法(n^3*k): 分n=1和n=2两种情况考虑. n=1时,预处理出前缀和sum[]. 设f[i][j]为到达第i格,已经放了j个子矩阵的最大和, 那么每次 ...

  4. writeValueAsString封装成工具类

    封装成工具类 <span style="font-family:Microsoft YaHei;">public static String toJsonByObjec ...

  5. TortoiseSVN如何更换或重置登录用户

    昨天手贱把svn重新卸载了,再安装后便与之前的项目断了,因为第一次使用这个,也不清楚再怎么登录,还有就是上次是使用别人的账号,也不知道怎么清除别人的账号. 鼠标右键找到settings,点击打开 找到 ...

  6. js中的offsetParent,offsetLeft,offsetTop及jquery的offset(),position()比较

    1.offsetParent 元素的offsetParent并不是元素的父元素,判断元素的offsetParent要根据以下情况: 1)当DOM结构层次中的元素均没有进行css定位(设置positio ...

  7. Maven配置将war包部署到Tomcat(tomcat7-maven-plugin)

    Tomcat7/8: 提示:经过测试Tomcat7的配置和插件在Tomcat8中能正常运行 tomcat7-maven-plugin官方帮助文档:http://tomcat.apache.org/ma ...

  8. crontab 实际的应用

    每二天执行一次: 0 0 */2 * * command #注意分,时不能为星*,否则每分钟执行 每天零晨01,03执行: 0 01,03 * * * command 每2小时执行一次 0 */2 * ...

  9. Java屏幕截图工具 捕获屏幕

    原文:http://www.open-open.com/code/view/1420037709781 import java.awt.BorderLayout; import java.awt.Co ...

  10. 聊聊WiFi Hacks:为何你的Karma攻击不好使了

    0.前言 三年前我发表了一篇文章<黑客有办法让你自动连上陌生WiFi>,介绍Karma攻击可以让你的无线设备自动连上黑客的WiFi.当时引起了还算比较热烈的讨论,关于WiFi安全,关于Ka ...