首先,F030与F072的RTC唤醒功能是不一样的,在相关定义文件stm32f0xx_exti.h中有如下定义:

#define EXTI_Line17      ((uint32_t)0x00020000)  /*!< Internal interrupt line 17 
                                                      Connected to the RTC Alarm 
                                                      event */

#define EXTI_Line20      ((uint32_t)0x00100000)   /*!< Internal interrupt line 20
                                                      Connected to the RTC wakeup
                                                      event, only applicable for 
                                                      STM32F072 devices  */

也就是最好用最正宗的RTC唤醒功能(EXTI_Line20)只能用在F072上,不能用于F030,所以只能使用RTC Alarm( EXTI_Line17) 方式来唤醒RTC。

RTC设置流程如下:

1.初始设置RTC的秒时钟:

RTC_InitStructure.RTC_AsynchPrediv
    RTC_InitStructure.RTC_SynchPrediv

计算方法:LSI=40000HZ;

LSI/(RTC_AsynchPrediv+1)/(RTC_SynchPrediv +1) =1

2.开启RTC中断及NVIC

/* EXTI configuration */
    EXTI_ClearITPendingBit(EXTI_Line17);
    EXTI_InitStructure.EXTI_Line = EXTI_Line17;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;

NVIC_InitStruct.NVIC_IRQChannel = RTC_IRQn;
    NVIC_InitStruct.NVIC_IRQChannelPriority = 1;
    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;

3.每次进入休眠之前,都要设置闹钟RTC Alarm

RTC_AlarmStructure.RTC_AlarmTime.RTC_H12     = RTC_H12_AM;
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours   = 0x01;
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = 0x00;
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = nDelayCNT;//0x05;
    RTC_AlarmStructure.RTC_AlarmDateWeekDay = 0x31;

其中nDelayCNT就是需要达到的唤醒时间长度,单位是秒(s).

至此,就算是把RTC唤醒搞定了 ,当然还有包括其他比如时钟RCC的设置,暂时以官方例程为准。

STM32F030使用RTC周期性唤醒STOP模式相关推荐

  1. STM32CubeMX(stm32F030C8T6) 之RTC闹钟唤醒停机模式-STM32开发实战 (2)

    一.概述 本例程是用STOP休眠模式,用RTC的周期性自动唤醒功能来唤醒芯片. 根据手册的说明:这里有个可编程的可自动重装的向下计数器,按照相应的时钟频率赋予适当的值,每当向下计数到0时便产生一个唤醒 ...

  2. STM32的RTC闹钟唤醒待机模式

    通过RTC闹钟不能唤醒待机模式下的STM32,但是当注释掉下面这一句程序的时候,就能通过RTC闹钟唤醒. PWR_WakeUpPinCmd(ENABLE);//使能唤醒管脚功能 这就给我们一种错误的判 ...

  3. stm32单片机实现多个闹钟_STM32实现对RTC闹钟唤醒的设计

    工程中用到低功耗的控制,本来想使用待机模式,后来发现待机后所有IO口为高阻态,这样对于一些IO口控制的外设有些不妥,想过外部上拉一个电阻可是功耗不好控制放弃该方案选用停止模式.停止模式后IO口保持停止 ...

  4. [STM32F1]STM32 低功耗待机模式与RTC周期唤醒

    STM32等类似Cortex-M3的MCU在系统或电源复位以后,MCU就会处于程序运行状态.当用户不需继续运行程序时,可以利用进入低功耗模式来节省电池电量,当需要重新运行时,可以通过特定条件进行唤醒程 ...

  5. STM32CubeMX | STM32 F1系列HAL库低功耗STOP和STANDBY模式唤醒(RTC时钟唤醒+外部中断唤醒示例)

    STM32CubeMX | STM32 F1系列HAL库低功耗STOP和STANDBY模式唤醒(RTC时钟唤醒+外部中断唤醒示例) 目录 STM32CubeMX | STM32 F1系列HAL库低功耗 ...

  6. TM32L0系列之02 RTC唤醒待机模式

    STM32L0系列之02 RTC唤醒待机模式 前言 使用芯片:STM32L051R8T6 软件平台:KEIL V5.STM32CubeL0 库函数:HAL 一.硬件介绍 1.单片机的系统时钟为:32M ...

  7. 超低功耗研发-STM32L151C8T6芯片(三)RTC自动唤醒机制

    超低功耗产品必然涉及到"唤醒"机制,唤醒后执行 正常的功能代码,这个"唤醒"动作有多种,基本上有外部中断.中断事件.RTC自动唤醒等,外部中断多是IO口中断,比 ...

  8. ESP32 使用 RTC_GPIO 唤醒 Deep-Sleep 模式

    此例程是使用 GPIO4( 对应 RTC_GPIO10) 触发高电平,来唤醒 Deep-Sleep 模式. ESP-IDF 版本为 v4.3.1 版本. 测试代码如下: /* ESP32 Deep-s ...

  9. 三种方法教你开启/关闭win10系统唤醒睡眠模式时需要登录的教程

    Windows系统的睡眠设置给我们带来了极大的方便,因为使用睡眠设置可以保存我们电脑的当前工作状态,再次唤醒睡眠模式时我们可以接着当前的工作状态继续操作,但默认情况下,系统处于安全考虑,当我们从睡眠模 ...

  10. STM32通过串口进入和唤醒停止模式

    STM32 具有运行.睡眠.停止和待机四种工作模式.上电复位后 STM32 处于运行状态,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同.唤醒时间不同.唤 ...

最新文章

  1. apue第四章习题的一些拙见(不定时更新)
  2. UESTC 2015dp专题 E 菲波拉契数制 dp
  3. 算法每日练习之判断完数
  4. 在Linux上编译LLVM/Clang 8.0.0等全部源代码
  5. node:http协议、sql、接口
  6. js 时间戳转换成时间_JavaScript 时间戳转成日期格式
  7. 【好文推荐】mysql创建数据库语句utf-8
  8. sql2000-2 4/19
  9. 【经典回顾】静态结构不能满足模型部署性能需求?微软提出动态卷积结构,Top-1准确率提高2.9%!(附复现代码)...
  10. win11亮度调节不见了怎么办 windows亮度调节不见了的解决方法
  11. 微设计(www.weidesigner.com)介绍系列文章(三)
  12. 【STM32 .Net MF开发板学习-09】AD模拟量采集
  13. 图元变形lisp源码_CAD lisp 实用小程序(源代码)
  14. 为精简版VS2008添加DEBUG版运行时库到系统目录
  15. 事件委托(代理)的理解
  16. 超链接 番茄札记 html,番茄学习法笔记以及初始尝试
  17. android 点击热区,扩大UIButton点击热区
  18. INS/GPS组合导航类型简介
  19. ZZULIOJ:1123:最佳校友
  20. 国家开放大学2021春1054流通概论题目

热门文章

  1. magisk卸载内置软件_GJ2x_免root搞机工具箱V6.71 更新:增加卸载内置功能
  2. 通信总线模块:RS485、SP3232
  3. 云原生存储和云存储有什么区别?
  4. Rufus v3.6 最好用的创建USB启动盘,速度嗖嗖的
  5. 最小二乘法计算平面度
  6. php sql注入教程,PHP简单高效防御sql注入的方法分享
  7. Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 - 上
  8. 教育类App原型制作分享-Busuu
  9. idea中的maven使用
  10. 初学者用什么数位板好,手绘板选择注意什么?