登录/注册

STM32F407 实时时钟

STM32F407 实时时钟

更多

好的,STM32F407 的实时时钟 (RTC) 是一个独立的、低功耗的计时器模块,即使在主电源关闭时(通过备用电池 VBAT 供电),也能持续计数,用于提供日历和时间信息。

以下是关于 STM32F407 RTC 的关键点:

  1. 核心功能:

    • 持续计时:提供秒、分、时、星期、日、月、年(带闰年补偿)的日历功能。
    • 闹钟:可编程的闹钟功能,可以在特定时间或日期产生中断或唤醒处于低功耗模式的 MCU。
    • 唤醒定时器:可编程的周期性自动重载计数器,用于产生周期性中断/唤醒(间隔可设置)。
    • 时间戳:能捕获外部事件(特定引脚边沿)发生的精确时间。
    • 入侵检测:检测特定引脚上的入侵事件(如篡改),并可选择将备份寄存器清零以保护敏感数据。
  2. 硬件特性:

    • 独立供电域 (Backup Domain)
      • 包含 RTC、备份寄存器 (BKP registers)。
      • 由主电源 VDD 或备用电源 VBAT 供电。
      • VDD 关闭时,VBAT(通常连接纽扣电池或超级电容)保持 RTC 运行和备份寄存器内容不丢失。
      • 关键点:硬件设计时必须正确连接 VBAT(即使不用 RTC,也要按推荐电路处理)。
    • 时钟源
      • 低速外部时钟 (LSE):通常连接 32.768 kHz 晶振。最常用且最精准的选择,功耗很低。
      • 低速内部时钟 (LSI):芯片内部约 32 kHz RC 振荡器。精度较低(典型偏差 ±5%),但不需要外部元件。适用于对精度要求不高或节省成本/BOM空间的应用。
      • 高速外部时钟分频 (HSE / 128):将外部高速晶振(通常 8MHz)分频到 1 MHz 后再分频到 ~7.8125 kHz 或 ~15.625 kHz (取决于配置)。极少使用,因为功耗较高,违背了 RTC 低功耗的初衷。
    • 预分频器 (Prescaler)
      • 包含一个 7 位的异步预分频器 (PREDIV_A) 和一个 15 位的同步预分频器 (PREDIV_S)。
      • 将时钟源频率分频到所需的 1 Hz 信号(用于日历计数器)。
      • 典型配置 (使用 32.768 kHz LSE):PREDIV_A = 127, PREDIV_S = 255 -> (127+1) * (255+1) = 32768 -> 1 Hz。
    • 32 位可编程计数器:核心计数器,每秒递增一次。可通过该计数器的值直接获取时间或计算日历。
  3. 软件配置 (通常使用 HAL 库或 LL 库):

    • 初始化流程 (关键步骤)
      1. 启用电源和备份域时钟__HAL_RCC_PWR_CLK_ENABLE()__HAL_RCC_BKP_CLK_ENABLE()
      2. 使能对备份域的访问 (解除写保护)HAL_PWR_EnableBkUpAccess()
      3. 选择时钟源 (LSE/LSI/HSE):通过 RCC 寄存器配置。例如 __HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE)
      4. 使能 RTC 时钟__HAL_RCC_RTC_ENABLE()
      5. 初始化 RTC 句柄:指定时钟源、异步/同步预分频值 (RTC_InitTypeDef)。
      6. 初始化日历:设置起始日期和时间 (RTC_DateTypeDef, RTC_TimeTypeDef)。
      7. (可选)配置闹钟、唤醒定时器、时间戳、入侵检测
      8. (可选)配置中断:闹钟中断、唤醒定时器中断、时间戳中断、入侵中断、秒中断 (ALRAIE, WUTIE, TSIE, TAMPIE, SECIE)。
    • 访问 RTC 寄存器
      • 通过 RTC-> 寄存器结构体直接访问。
      • 等待寄存器同步标志 (RTC_ISRRSF位) 或操作允许标志 (RTC_ISRINIT, ALRAWF等) 是必要的。
      • HAL 库提供了封装好的函数 (如 HAL_RTC_GetTime, HAL_RTC_GetDate, HAL_RTC_SetTime, HAL_RTC_SetDate, HAL_RTC_SetAlarm等)。
    • 处理备份域复位
      • 当系统复位或备份域复位后,需要再次解除备份域的写保护 (HAL_PWR_EnableBkUpAccess()) 才能配置 RTC。
      • 检查 RCC_BDCR 寄存器的 BDRST 标志来判断是否发生了备份域复位。
  4. 重要注意事项:

    • VBAT 连接:这是 RTC 在主电源掉电后保持运行的关键。务必按数据手册设计电路。
    • 时钟源启动:LSE/LSI 启动需要时间,软件需要等待其稳定(通过 RCC_BDCRLSERDY/ LSIRDY 位判断)。
    • 精度:LSE 晶振精度最高(典型值 ±20ppm)。LSI 精度较低(±5%)。外部电路(负载电容)会影响 LSE 精度。
    • 中断处理:中断服务程序 (IRQ Handler) 需要清除相应的中断标志位 (EXTI->PRRTC->ISR)。
    • 调试:如果 RTC 不工作,首先检查:
      • 电源和 VBAT 是否正确连接?
      • LSE/LSI 是否启动 (LSERDY/LSIRDY)?
      • 是否解除了备份域写保护 (HAL_PWR_EnableBkUpAccess())?
      • 预分频器配置是否正确?
      • 中断配置是否正确(NVIC、EXTI)?
  5. 常用开发工具:

    • STM32CubeMX:图形化配置工具,自动生成 RTC 初始化代码(配置时钟源、预分频、日历、闹钟、中断等),强烈推荐使用
    • STM32CubeIDE:集成开发环境,包含 CubeMX 和调试器。
    • ST-Link Utility / STM32CubeProgrammer:烧录工具,有时也用于调试和查看 RTC 寄存器。

总结:STM32F407 的 RTC 是一个功能强大且关键的模块,用于需要持续计时和日历的应用。使用时需特别注意其独立的供电域 (VBAT)、时钟源选择、预分频器配置以及备份域访问权限的管理。利用 STM32CubeMX 可以大大简化配置过程。

STM32F407的晶振选型分析

STM32F407的最佳晶振选项

2025-11-07 12:03:28

stm32f407 double类型

STM32F407是意法半导体(STMicroelectronics)推出的一款ARM Cortex-M4内核的微控制器。它是针对智能电动车领域的实时操作、数字信号处理和高性能应用而设计的。在这

2024-01-07 16:45:45

stm32f407 LAN8720A速率调整

STM32F407是一款基于ARM Cortex-M4内核的高性能微控制器,而LAN8720A是一款高速以太网PHY芯片。它们的组合可以实现在STM32F407上使用以太网功能。 调整

2024-01-05 13:54:13

stm32f407原理图

stm32f407原理图

资料下载 新湖滨 2022-07-14 16:07:38

STM32F407原理图下载

STM32F407原理图下载

资料下载 AloneMonster111 2022-01-17 13:44:59

STM32F407STM32F105 CAN通讯失败的定位解决

STM32F407与STM32F105的CAN通讯失败问题,经过一系列的测试分析,发现并解决问题,实现正常的CAN通讯。问题的现象STM32F407

资料下载 小峰 2021-12-02 16:51:16

STM32F407开发板用户手册】第14章 STM32F407的电源,复位和时钟系统

【STM32F407开发板用户手册】第14章 STM32F407的电源,复位和时钟系统

资料下载 佚名 2021-12-02 16:21:14

STM32F407 DCMI摄像头源码

STM32F407 DCMI摄像头源码(电源技术存在的问题总结)-【资源描述】:STM32F407 DCMI摄像头源码【编程语言】:C语言

资料下载 h1654155275.0032 2021-09-16 16:15:00

rt-thread studio新建stm32f407工程

rt-thread studio新建stm32f407工程,使用的版本是:2.2.6,stm32f4的支持包版本为0.2.2。先不用0.2.3,因为使用0.2.3建立的模板编译会报错。

2023-10-12 17:42:05

STM32F407 基本定时器使用

介绍STM32F407基本定时器的配置方法,分别介绍轮询方式、中断方式使用定时器完成定时。

2023-07-06 14:32:55

STM32F407 滴答定时器

介绍STM32F407滴答定时器配置方法、使用方式,封装延时函数得到精确的时间。

2023-07-06 14:32:11

STM32F407 串口配置步骤

介绍STM32F407串口配置步骤,完成串口的数据发送与接收、实现中断接收,支持printf重定向。

2023-07-06 14:29:50

STM32F407 GPIO口输入配置配置步骤

介绍STM32F407新建寄存器工程流程,介绍输入模式的配置方式,以按键为例完成按键输入检测。

2023-07-06 14:28:56

国产优秀替代_APM32F407替代STM32F407记录

前言 最近一段时间在玩极海的APM32F407系列的MCU,在研究一段时间后发现其资源和意法半导体的STM32F407不相上下。通过对比两者的数据手册和参考手册,我发现APM32

2022-05-10 11:22:36

STM32F407时钟配置学习

STM32F407时钟配置学习。

2021-08-04 07:14:05
7天热门专题 换一换
相关标签