此文献给做单片机工作的同僚,希望大家在嵌入式硬件的道路上越走越远,第一篇,望大家多多指导,不喜勿喷!

这里主要说一下,本人在调试STM32低功耗功能时遇到的问题以及解决思路与大家分享一下。

在确认使用低功耗功能后,大家铁定会通过不同途径查找相关的资料,了解到什么是低功耗、低功耗有哪几种以及不同模式之间的区别,最后还有一些程序截取、说明,资料不少,但是能让人一目了然理解的不太多,尤其是刚接触这个功能的新手,或许是资历尚浅,编程以及检索资料能力还有待提高。

再此,我抛砖引玉,发表一篇我的调试感受,我从  低功耗初体验、低功耗功能说明、低功耗总结三个方面进行说明。

首先,低功耗初体验。跟大家一样,查到STM32的低功耗有三个模式,分别是睡眠模式、停止模式以及待机模式(STM32开发指南——库函数版本321页)。

这里介绍的是停机模式,原因有以下亮点:功耗以及实用性。三个模式的功耗由高到低依次是睡眠、停机,最后是待机,既然待机功耗最低为什么选停机模式,这是由于待机模式与停机模式都可以RTC唤醒,但是停机模式可以通过任意管脚的外部中断唤醒,而待机模式只能通过NRST因脚伤的外部复位唤醒,局限性太大。

第二部分,低功耗功能说明


/*RTC设置*/
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
PWR_WakeUpPinCmd(ENABLE);
PWR_BackupAccessCmd(ENABLE);
RTC_Configuration();
NVIC_Configuration();
//MCU进入停机模式
void MCU_EnterSTOPMode(void)
{RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);/* Allow access to BKP Domain */PWR_BackupAccessCmd(ENABLE);RTC_WaitForLastTask();RTC_ClearFlag(RTC_FLAG_SEC);RTC_WaitForLastTask();while(RTC_GetFlagStatus(RTC_FLAG_SEC) == RESET);RTC_SetAlarm(RTC_GetCounter()+ Stop_Time);//Stop_Time这个是唤醒时间,单位是秒,即Stop_Time秒后启动RTC唤醒RTC_WaitForLastTask();RTC_ClearFlag(RTC_FLAG_RSF);RTC_WaitForLastTask();RTCAlarm_IT_Enable();RTC_WaitForLastTask();EXTIX_Init();EXIT_Configuration();     STOP_PeripthAndClk(); EXTI->PR = 0x00; /* Request to enter STOP mode with regulator in low power mode*/PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);CLI();//ÆÁ±ÎËùÓÐÖжÏSystem_timer_1ms = 0;SYSCLKConfig_STOP(); START_PeripthAndClk(); SEI();
}

最后,低功耗总结

低功耗想要做到自己满意的效果,需要程序与硬件配合,根据外部电路将引脚置成上拉或者下拉,减小不必要的电流损失;还有就是将开启的外设关闭,如果忘了关闭可能会对结果有较大影响(尤其是又添加功能的时候,记得初始化的时候加上并调试成功可以使用时,记得在进入低功耗关掉)。第一次写,可能有好多说不明白的地方,附带一个工程,https://download.csdn.net/download/zsj2016o/10865786,大家一起交流学习,好好体会有惊喜。

STM32进入低功耗模式以及唤醒(RTC+中断)相关推荐

  1. 【STM32笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)

    [STM32笔记]低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) [STM32笔记]低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_5340 ...

  2. 【极海APM32替代笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)

    [极海APM32替代笔记]低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) [STM32笔记]低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_ ...

  3. STM32开发 -- 低功耗模式详解

    很多单片机都有低功耗模式,STM32 也不例外.当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗. 这部分不是我负责,但是也是有必要看一下的. 参看: STM32F1开发指南-库函数版本_ ...

  4. STM32的低功耗模式

    目前的低功耗设计主要从芯片设计和系统设计两个方面考虑.随着半导体工艺的飞速发展和芯片工作频率的提高,芯片的功耗迅速增加,而功耗增加又将导致芯片发热量的增大和可靠性的下降.因此,功耗已经成为深亚微米集成 ...

  5. STM32-(33):低功耗模式与唤醒

    上一篇:STM32-(32):窗口看门狗 下一篇:STM32-(34):DMA传输控制(理论) 功耗管理 很多单片机都有低功耗模式,STM32也不例外.在系统或电源复位以后,微控制器处于运行状态.运行 ...

  6. STM32开发 -- 低功耗模式详解(2)

    如需转载请注明出处:https://juyou.blog.csdn.net/article/details/98631012 上一篇文章 STM32开发 – 低功耗模式详解(1) 简单的总结了一下低功 ...

  7. STM32开发 -- 低功耗模式详解(1)

    如需转载请注明出处:https://juyou.blog.csdn.net/article/details/95364296 很多单片机都有低功耗模式,STM32 也不例外.当 CPU 不需继续运行时 ...

  8. STM32进入Standby模式并唤醒

    项目背景 设备具备电池.电源适配器两种供电方式,实现出厂(和电池一并密封装盒)时最低功耗(即进入待机模式),到用户开始使用时需要手动磁棒唤醒,开始复位运行.在检测到设备是交流供电时,设备全速运行:检测 ...

  9. ADSP-BF706 低功耗模式及唤醒

    最近在做这个工作,就先写这一片低功耗模式和唤醒方式. 在文档中,写有低功耗模式主要有两种: Deep sleep mode Hibernate mode 前者主要关闭内核和系统的时钟,当进入deep ...

最新文章

  1. 【Java】阶乘 素数 循环
  2. 《游戏设计师修炼之道:数据驱动的游戏设计》一1.4小结
  3. mysql5.5在windows7下编译的详细步骤_Windows7下编译MySQL5.5的详细步骤
  4. mysql ndb_mysql8 参考手册--MySQL NDB群集8.0
  5. Hyperset(排序+二分)
  6. 曼哈顿距离最小生成树
  7. [React]你有用过哪些React的表单库吗?说说它们的优缺点
  8. matlab中patch命令_matlab中patch函数的用法——emily
  9. django处理静态文件
  10. 一念逍遥服务器维护,一念逍遥开服攻略 新手开荒技巧
  11. ajaxpro.2.dll使用【转帖】
  12. 项不会计算为接受 0 个参数的函数_玩转excel函数:详解四种计数函数,从基础到提高...
  13. 如何配置mysql_怎样配置MySQL
  14. 【檀越剑指大厂--jvm】jvm总结
  15. HHL论文第一弹(总结算法基本思想、QRAM制备量子态)
  16. 华为手机文档里的html,华为手机如何扫描文件变成文档 这扫描功能简直太好用了...
  17. 根据某一列拆分Excel为多个表格
  18. 史上最全网址导航大全,让世上没有找不到的好东西
  19. UVa 10387 Billiard
  20. 个推数说中国42年冬奥史,可视化演绎冰雪奇缘

热门文章

  1. 【OpenCV】边缘检测:Sobel、拉普拉斯算子
  2. 麦克风阵列研究3 定向录音
  3. ZJU PAT 1010
  4. 图解Windows10+优麒麟双系统安装
  5. ubuntu双系统安装教程
  6. ServiceComb微服务框架
  7. 在js中对数值进行取整、四舍五入等方法汇总
  8. 【python脚本】linux中编写运行python脚本
  9. 算法 64式 4、回溯算法整理__第1部分_1到13题
  10. BZOJ 4430 Guessing Camels赌骆驼