STM32——RTC实时时钟(菜鸟笔记)

        STM32的RTC实时时钟是一个独立的定时器。 在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。
        RTC 模块和时钟配置系统 (RCC_BDCR 寄存器 ) 处于后备区域,即在系统复位或从待机模式唤醒后, RTC 的设置和时间维持不变。系统复位后,对后备寄存器和 RTC 的访问被禁止,这是为了防止对后备区域 (BKP) 的意外写操作。执行以下操作将使能对后备寄存器和 RTC 的访问:
    ● 设置寄存器
RCC_APB1ENRPWRENBKPEN位,使能电源和后备接口时钟
    ● 设置寄存器
PWR_CRDBP位,使能对后备寄存器和RTC的访问。


其框图如下:
主要分两个模块:

1、预分频模块(可编程产生最长为1秒的RTC时间基准TR_CLK

    若在RTC_CR设置了相应允许位,则在每个TR_CLK周期中产生一个秒中断

2、可编程计数器

    RTC_CNT按TR_CLK周期累加,并可与RTC——ALR比较,若RTC_CR控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断

RTC配置步骤:

1.使能电源时钟和备份区域时钟

2.取消备份区写保护

3.复位备份区域,开启外部低速振荡器

4.选择RTC时钟,并使能(选择外部LSE作为RTC时钟)

5.设置RTC的分频,以及配置RTC时钟

6.更新配置,设置RTC中断分组

7编写中断服务函数



猜你喜欢

转载自blog.csdn.net/LGM_1874/article/details/80092313