STM32F407——RTC实时时钟

server/2025/3/17 12:31:16/

1、RTC 简介

        实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器。 RTC 提供一个日历时钟、两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。 RTC 还包含用于管理低功耗模式的自动唤醒单元。

        两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时( 12 或 24 小时制)、星期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。系统可以自动将月份的天数补偿为 28、 29(闰年)、 30 和 31 天。并且还可以进行夏令时补偿。

        其它 32 位寄存器还包含可编程的闹钟亚秒、 秒、分钟、小时、星期几和日期。此外,还可以使用数字校准功能对晶振精度的偏差进行补偿。

        RTC 模块和时钟配置系统(RCC_BDCR 寄存器)是在后备区域,即在系统复位或从待机模式唤醒后 RTC 的设置和时间维持不变,只要后备区域供电正常,那么 RTC 将可以一直运行。上电复位后,所有 RTC 寄存器都会受到保护,以防止可能的非正常写访问。所以在要设置时间之前,先要取消备份区域(BKP)写保护。

2、RTC 框图及功能说明

        下图即是 RTC 框图: 

2.1、时钟和预分频器

        RTC 时钟源 (RTCCLK) 通过时钟控制器从 LSE 时钟、 LSI 振荡器时钟以及 HSE 时钟三者中选择(通过设置 RCC_BDCR 寄存器选择)。一般选择 LSE,即外部 32.768KHz 晶振作为时钟源(RTCCLK),因为外部晶振具有精度高的优点。
 

        可编程的预分频器阶段可生成 1 Hz 的时钟,用于更新日历。为最大程度地降低功耗,预分频器分为 2 个可编程的预分频器(参见 RTC 框图):

  • 一个通过 RTC_PRER 寄存器的 PREDIV_A 位配置的 7 位异步预分频器。
  • 一个通过 RTC_PRER 寄存器的 PREDIV_S 位配置的 15 位同步预分频器。
注意:        使用两个预分频器时,推荐将异步预分频器配置为较高的值,以最大程度降低功耗。要使用频率为 32.768 kHz 的 LSE 获得频率为 1 Hz 的内部时钟 (ck_spre),需要将异步预分频系数设置为 128,并将同步预分频系数设置为 25

        经过 7 位异步预分频器出来的时钟 ck_apre 可作为 RTC_SSR 亚秒递减计数(RTC_SSR)的时钟, ck_apre 时钟频率的计算公式如下:


http://www.ppmy.cn/server/175698.html

相关文章

【AHE数据集】 NCAR Anthropogenic Heat Flux (AHF) 数据集

数据概述 数据集由 美国国家大气研究中心(NCAR, National Center for Atmospheric Research) 的 气候与全球动力学实验室(CGD, Climate & Global Dynamics Laboratory) 提供。NCAR 由 美国国家科学基金会(NSF, National Science Foundation) 资助,并由 大学大气研究…

SQL与NoSQL的区别

以下是SQL与NoSQL数据库的详细对比,涵盖核心特性、适用场景及技术选型建议: 一、核心区别对比 特性SQL(关系型数据库)NoSQL(非关系型数据库)数据模型基于表格,严格预定义模式(Schem…

K8S学习之基础二十九:K8S中的secret

K8S中的secret ​ configMap是用来存放明文数据的,如环境变量、配置文件等,对于蜜柑数据,如密码、私钥等数据,就要用到secret类型。 ​ secret可选参数: ​ 1、generic:通用类型,通常用于存储…

STM32 —— MCU、MPU、ARM、FPGA、DSP

在嵌入式系统中,MCU、MPU、ARM、FPGA和DSP是核心组件,各自在架构、功能和应用场景上有显著差异。以下从专业角度详细解析这些概念: 一、 MCU(Microcontroller Unit,微控制器单元) 核心定义 集成系统芯片&a…

Ubuntu 22.04 无法进入图形界面的解决方法

Ubuntu 22.04 无法进入图形界面,只能进入 tty,可能是由于图形界面相关的配置或驱动程序出现了问题。以下是一些常见的解决方法: 1. 检查图形界面服务状态 首先,检查图形界面服务(通常是 gdm 或 lightdm)的…

新手村:数据预处理-缺失值补充策略

新手村:数据预处理-缺失值补充策略 缺失值补充策略 策略描述适用场景优点缺点删除含有缺失值的行或列删除包含任何缺失值的行或列。当缺失值比例较小且数据量较大时。简单直接,不会引入新的误差。可能导致数据丢失,特别是在缺失值较多的情况…

Java 并发编程——Java BIO NIO Socket编程

参考Java 并发编程——Java BIO NIO Socket编程 BIO:阻塞式编程模型 Socket 服务端编程Socket 客户端编程 NIO:非阻塞式编程模型 NIO 介绍Java 中 NIO 非阻塞式与前面 BIO 阻塞式的区别Java NIO类库包含以下三个核心组件ServerSocketChannel 服务端编程…

【ES6】模块化

概述 模块功能主要有两个命令,export和import。 一个js文件就是一个模块。 参考视频 【一小时速通JavaScript模块化,涵盖CommonJS与ES6模块化-哔哩哔哩】 https://b23.tv/gZ1uK7V 导出成员 在正常变量、函数前加export关键字。 导入模块 在另一个…