rtc唤醒日期每天唤醒写啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rtc唤醒日期每天唤醒写啥相关的知识,希望对你有一定的参考价值。

周期性唤醒标志由 16 位可编程自动重载递减计数器生成。唤醒定时器范围可扩展至 17 位。

可通过 RTC_CR 寄存器中的 WUTE 位来使能此唤醒功能。

唤醒定时器的时钟输入可以是:  2、4、8 或 16 分频的 RTC 时钟 (RTCCLK)。

当 RTCCLK 为 LSE (32.768 kHz) 时,可配置的唤醒中断周期介于 122 µs 和 32 s 之 间,且分辨率低至 61 µs。

· ck_spre(通常为 1 Hz 内部时钟)。

当 ck_spre 频率为 1 Hz 时,可得到的唤醒时间为 1s 到 36h 左右,分辨率为 1 秒。这 一较大的可编程时间范围分为两部分:

– WUCKSEL [2:1] = 10 时为 1s 到 18h

– WUCKSEL [2:1] = 11 时约为 18h 到 36h。在后一种情况下,会将 216 添加到 16 位计数器当前值。完成初始化序列后(请参见第 600 页的编程唤醒定时器),定时 器开始递减计数。在低功耗模式下使能唤醒功能时,递减计数保持有效。此外,当 计数器计数到 0 时,RTC_ISR 寄存器的 WUTF 标志会置 1,并且唤醒寄存器会使用其重载值(RTC_WUTR 寄存器值)动重载。 之后必须用软件清零 WUTF 标志。

通过将 RTC_CR2 寄存器中的 WUTIE 位置 1 来使能周期性唤醒中断时,它会使器件退出低功耗模式。

如果已通过 RTC_CR 寄存器的位 OSEL[1:0] 使能周期性唤醒标志,则该标志可连接到RTC_ALARM 输出。可通过 RTC_CR 寄存器的 POL 位配置 RTC_ALARM 输出极性。

系统复位以及低功耗模式(睡眠、停机和待机)对唤醒定时器没有任何影响。

 

二、配置周期唤醒

配置步骤如下:

1. 禁用周期唤醒功能,复位RTC_CR2中WUTE位;

2. 等待RTC_ISR1中WUTWF位置位,表示唤醒计数器可配置;

3. 配置唤醒时钟,设置RTC_CR1中WUCKSEL[2:0]位:

- 000: RTCCLK/16

- 001: RTCCLK/8

- 010: RTCCLK/4

- 011: RTCCLK/2

- 10x: ck_spre(1Hz,WUT计数范围:0x0000~0xFFFF)

- 11x: ck_spre(1Hz,WUT计数范围:0x10000~0x1FFFF)

4. 配置唤醒周期,装载寄存器RTC_WUTRH和RTC_WUTRL;

5. 使能周期唤醒功能,置位RTC_CR2中WUTE位。(该中断会使MCU退出低功耗状态,进入运行状态。)

 

 

RTCCLK,预分频2,4,8或16。如果RTCCLK为LSE,即32768Hz,则可配置唤醒周期为:(61us ~ 32s)

 

ck_spre, 1Hz时钟,则可配置唤醒周期为:(1s ~ 36h)

 

三、RTC时钟配置

1、时钟源选择:RTC时钟源可选HSE,LSE,HSI或LSI。

为确保RTC精确工作,要求系统时钟(SYSCLK)必须等于或大于4*RTCCLK值。如果系统时钟(SYSCLK)为LSE或LSI,则RTC时钟必须等于系统时钟(SYSCLK),并且禁用RTC同步机制(置位RTC_CR1寄存器RATIO位)。

 

2、配置RTC时钟源:配置RTC时钟源为LSE,1分频,即32768Hz。

 

3、配置ck_spre时钟; ck_spre时钟,默认1Hz时钟。

(1) 设置7位异步预分频,RTC_APREG:PREDIVA,默认127;

(2) 设置13(Medium)或15位同步预分频,RTC_SPRERx:PREDIV_S,默认255。

即:1Hz=32768/((127+1)*(255+1))

 

ck_spre时钟可用于日历和定时唤醒时钟。

 

代码参考
//参数time 秒

void APP_EnterLP(uint32_t time )



         MX_GPIO_Init_stop();

 /* Enable Ultra low power mode */

          HAL_PWREx_EnableUltraLowPower(); //使能超低功耗

          /* Enable Fast WakeUP */

          HAL_PWREx_EnableFastWakeUp();            //使能快速唤醒

           /* Disable Wakeup Counter */

         HAL_RTCEx_DeactivateWakeUpTimer(&hrtc);

         

      

      /* Clear Wake Up Flag */

        __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);

        

    //    HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, (uint32_t)(time * 2048), RTC_WAKEUPCLOCK_RTCCLK_DIV16);//rtc LSE=32.768k   2048Hz   488us-- 32秒

 

        HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, time-1, RTC_WAKEUPCLOCK_CK_SPRE_16BITS); //wangxl@20190814  时钟选择1Hz  65535/60/60 ~18  可得到的唤醒时间为 1s 到 18h 左右

        

        printf("进入停止模式\r\n");

        

        /* Select MSI as system clock source after Wake Up from Stop mode */

        __HAL_RCC_WAKEUPSTOP_CLK_CONFIG (RCC_STOP_WAKEUPCLOCK_HSI);

        

        HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON , PWR_STOPENTRY_WFI);

              

        MX_GPIO_Init();

       

        HAL_Delay(5);  //wangxl@20190814  稳定时钟 必免串口打印乱码

        printf("wake up\r\n");



打开CSDN,阅读体验更佳

STM32---RTC实时时钟,随机数发生器和待机唤醒_码字但很菜的博客-CSDN博...
void RTC_AlarmSubSecondConfig(uint32_t RTC_Alarm, uint32_t RTC_AlarmSubSecondValue,uint32_t RTC_AlarmSubSecondMask) uint32_t RTC_GetAlarmSubSecond(uint32_t RTC_Alarm); RTC周期唤醒相关函数 void RTC_WakeUpClockConfig(...
继续访问
STM32L051低功耗STOP模式下RTC唤醒_TonyIOT的博客_stm32l05...
很多MCU都有低功耗模式,以满足对功耗要求苛刻的应用场景。STM32系列MCU的低功耗模式根据其内核与类型的不同也各不相同,网上有很多文章介绍。本文总结下STM32L051的STOP模式,通过RTC唤醒。
继续访问
最新发布 GD32F4—RTC闹钟及自动唤醒中断配置详解
GD32F4RTC闹钟及自动唤醒中断配置
继续访问

【STM32】RTC休眠唤醒(停机模式)、独立看门狗开启状态下
本文章基于STM32F103RC; 在开启独立看门狗的状态下,进入停机模式,由RTC定时闹钟唤醒系统。 直接上代码: #include "main.h" static void RTC_NVIC_Config(void) EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQn;
继续访问
stm32f103 RTC周期性待机唤醒(一)_luck_horse的博客
我的RTC初始化部分有个“保存在备份寄存器的RTC标志是否已经被配置过的判断”,如果已经配置过,则进入else部分,但是这个else部分没有“要使能电源时钟,使能备份时钟,取消后备区的写保护”这些配置语句,而待机唤醒后程序从主函数执行,会执行...
继续访问
...RTC实时时钟_基尔霍夫原来是码农的博客_stm32 rtc 时间
RTC简介 STM32F4的RTC,是一个独立的BCD 定时器/计数器。STM32F4的RTC 提供一个日历时钟(包含年月日时分秒信息)、两个可编程闹钟(ALARM A和ALARM B)中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC 还包含用于管理低功耗模式...
继续访问
STM32L031低功耗深度睡眠RTC唤醒注意事项
1. 发现进入睡眠后,电流1.2uA,满足要求。结果唤醒后,第二次进入睡眠后,电流跳到了19uA,且一直保持下去。结果看了https://blog.csdn.net/zzw3255/article/details/54342878的介绍,把串口干掉了,电流下降到了2.6uA。2. 去掉了串口,第一次进入睡眠1.2uA,第二次进入睡眠2.6uA。有陷入了僵局,没开串口、没开GPIO,啥事都没干,怎么...
继续访问
STM32L053RTC——唤醒定时器定时唤醒睡眠
L053RTC——唤醒定时器定时唤醒睡眠
继续访问

CM3计算板RTC闹钟唤醒系统_jianwang16的博客_bios rtc...
rtcctlshowalarm1 /* rtcctl 启用闹钟1 */ rtcctlonalarm1 /* rtcctl 清除闹钟1 */ rtcctl clear alarm1 /* rtcctl 设置闹钟1时间 2019/06/01 15:30:00 闹钟产生中断*/ rtcctlset06/01/201915:30:00 ...
继续访问
RTC自动唤醒_Ftworld21的博客_rtc唤醒
RTC唤醒低功耗(standby)模式 这段时间在公司最一个低功耗的项目,采用的的STM32F103的最低功耗standby模式,进入最低功耗模式后,电流降到了3uA,和芯片手册上的大致相同。对进入低功耗模式,网上有很多程序,我在这里把我的粘贴上来,仅供参...
继续访问
热门推荐 STM32复习笔记(十二)RTC实时时钟(低功耗待机唤醒)
声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照正点原子的视频和文档的实际顺序梳理,转载请注明出处。 作者:sumjess 适用:这个视频我已经看过3遍了,总会有忘记的,所以来写这本书的随手笔记,记录重点、易忘点。该博客可以当做字典,也可以当做笔记。 目前内容:RTC实时时钟(低功耗待机唤醒)   一、RTC实时时钟特征与原理: ★  R...
继续访问
STM32----RTC实时时钟,随机数发生器和待机唤醒
RTC实时时钟 RTC是个独立的BCD定时器/计数器。RTC 提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。 两个32位寄存器包含二进码十进制格式(BCD)的秒,分钟,小时(12或24小时制),星期几,日期,月份和年份。此外,还可以 提供二进制的亚秒值。 系统可以自动将月份的天数补...
继续访问

hal 外部唤醒脚唤醒_【STM32】HAL库开发教程(六)—低功耗唤醒
前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍STM32_HAL库开发中低功耗唤醒的使用。一、开发步骤1.STM32CubeMX配置在左侧引脚配置处勾选RTC进行配置在RTC模式处勾选“Wakeup”唤醒使能RTC唤醒模式在RTC参数配置处进行参数配置:RTC时钟、Wakeup唤醒时钟、Wakeup唤醒计数器以及勾选”NVIC Settings”使能外部中断 2.进低功耗程序编...
继续访问
STM32Cube STM32L053配置RTC WAKEUP中断唤醒
芯片手册中提到的从停止模式唤醒说明 芯片手册中提到的从待机模式唤醒说明 配置 LL_RTC_InitTypeDef RTC_InitStruct = 0; LL_RCC_EnableRTC(); NVIC_SetPriority(RTC_IRQn,0); NVIC_EnableIRQ(RTC_IRQn); RTC_InitStruct.HourFormat = LL_RTC_HOURFORMAT_24HOUR; RTC_InitStruct.AsynchPrescaler = 12
继续访问

STM32L0系列单片机低功耗(STOP)使用+RTC唤醒+LPUART(DMA方式)唤醒+LPTIM唤醒
文章目录STM32L0低功耗应用1.睡眠模式2.低功耗运行模式3.低功耗睡眠模式4.带RTC的停止模式5.不带RTC的停止模式6.带RTC待机模式7.不带RTC待机模式留更设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 STM32L0低功耗应用 S...
继续访问

STM32 STOP模式开发问题集锦
STM32 STOP模式开发问题集锦 芯片:STM32L151RBT6 库:HAL库 ①晶振不起振问题 项目过程中,遇到了晶振不起振问题,看了很多帖子,还是不能确定到底是什么问题。我个人建议是使用有源晶振或者是内部晶振(自带晶振不会黑自己吧…) 由于内部低速晶振并非是32.768,所以对RTC要求高的,考虑有源的32.768K晶振,我在实验过程中换了一个无源的KDS(株式会社-大真空)目前也没有发现不起振的情况。高速晶振可以内部,也可以有源。 ②HAL库 中RTC唤醒STOP模式问题 和时间相关的唤醒,一种
继续访问
STM32L151C8T6笔记2:RTC唤醒的STOP模式
尝试在保留RAM数据的前提下进行低功耗定时运行,Stop模式带RTC成为唯一选择,上图来自《AN3193:STM32L1xx超低功耗功能概述》。 梳理工作逻辑: (1)需要进入低功耗之前,先配置RTC的Wakeup(也可以用闹钟Alarm,类似,不赘述): //to set wake up interval if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc,( RTC_WKUP_INTVAL_IN_SECOND*1000000 /W...
继续访问

RTC定时开机闹钟
  RTC是Real Time Clock的简称,它在硬件电路上单独供电,当系统关机时,CPU和其他外部硬件设备全部掉电,但是RTC仍然继续工作.   HWCR (Hibernate Wakeup Control Register)是一个控制休眠唤醒的寄存器,如果我们要使用休眠状态下RTC唤醒的功能,我们需要打开它的第0位ELAM(RTC Alarm Wakeup enable),当ELAM置1...
继续访问
STM32F030使用RTC周期性唤醒STOP模式
首先,F030与F072的RTC唤醒功能是不一样的,在相关定义文件stm32f0xx_exti.h中有如下定义: #define EXTI_Line17 ((uint32_t)0x00020000) /*!< Internal interrupt line 17 Con...
继续访问
stm32f103 RTC周期性待机唤醒(一)
转载于http://blog.csdn.net/u011732167/article/details/50958520 今天终于发现问题出在哪里了,对待机唤醒的问题做一个总结(只针对我遇到的问题,其他部分网上都有,基于stm32f103) 1、解决我遇到的问题        我的RTC初始化部分有个“保存在备份寄存器的RTC标志是否已经被配置过的判断”,如果已经配置过,则
继续访问
hal库开启中断关中断_技术笔记STM32CubeL4 固件库V1.13.0版的RTC唤醒
因为STM32L4极其出色的低功耗性能,越来越多的用户在使用STM32L4系列开发产品。谈到低功耗,就少不了低功耗模式。进入低功耗模式,自然需要能够唤醒。很多用户在产品开发中会使用RTC把系统从低功耗模式定时唤醒。问题客户在产品的设计中,使用STM32L476RGT6。客户使用RTC的定时唤醒来将系统从STOP2模式中唤醒,但是发现无法唤醒。调研01了解问题客户参考\STM32Cube_...
继续访问

stm32中断源有哪些_STM32低功耗待机模式+RTC闹钟中断唤醒
很多单片机都有低功耗模式,STM32 也不例外。在系统或电源复位以后,微控制器处于运行状态。运行状态下的HCLK为CPU提供时钟,内核执行程序代码。当CPU不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。 单片机内部功率是各功能部分功率的总和,低功耗模式是通过关掉部分内部功能达到...
继续访问

STM32开发笔记30:STM32L0低功耗设计——STOP_RTC模式下的休眠时间
单片机型号:STM32L053R8T6     本文介绍STOP_RTC模式下,设置进入低功耗休眠时间的方法。     低功耗的休眠时间的设置首先需要确定RTC的基准时间,我们一般将其设置为1秒,这在《STM32L0低功耗设计4: RTC模块1秒时钟的产生方法》中已经介绍过,大家看一下就好。     接下来,就需要对HAL_RTCEx_SetWakeUpTimer_IT函数的第2个参数进行设...
继续访问
基于STM32通过RTC唤醒低功耗模式
RTC自动唤醒低功耗模式
参考技术A 一、检查机器的BIOS版本和日期(需要确认BIOS时间与正常时间一致);

二、Advance 选项——APM 选项——Erp选项默认为“Enabled”;

三、将Erp选项改为“Disabled”;

四、将 Power on By RTC 选项设置为“Enabled”;

五、设置您所需要机器自动开机的时间(RTC Alarm Date 设置为“ 0 ”则为 每天);

六、保存设置;

七、进入BIOS确认时间设置完毕,关机进系统即可。

以上是关于rtc唤醒日期每天唤醒写啥的主要内容,如果未能解决你的问题,请参考以下文章

如何从睡眠中唤醒安卓手机?

STM32Cube STM32L053配置RTC WAKEUP中断唤醒

STM32Cube STM32L053配置RTC WAKEUP中断唤醒

esp32低功耗远程唤醒

如何使用 sys 文件系统将 RTC 设置为唤醒源并设置全天的特定时间

RTC唤醒喂狗和重启那些事儿