一、周期性自动唤醒--手册文档说明
周期性唤醒标志由 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;
|