STM32G474xx HAL User Manual
函数
stm32g4xx_hal_rtc.c 文件参考

RTC HAL模块驱动程序。本文提供固件函数以管理实时时钟(RTC)外设的以下功能:+ 初始化/反初始化函数+ 日历(时间和日期)配置+ 闹钟(闹钟A和闹钟B)配置+ 唤醒定时器配置+ 时间戳配置+ 篡改检测配置+ 备份数据寄存器配置+ RTC篡改和时间戳引脚选择+ 中断和标志管理。 更多...

#include "stm32g4xx_hal.h"

转到此文件的源代码。

函数

HAL_StatusTypeDef HAL_RTC_Init (RTC_HandleTypeDef *hrtc)
 初始化RTC外设。
HAL_StatusTypeDef HAL_RTC_DeInit (RTC_HandleTypeDef *hrtc)
 反初始化RTC外设。
HAL_StatusTypeDef HAL_RTC_RegisterCallback (RTC_HandleTypeDef *hrtc, HAL_RTC_CallbackIDTypeDef CallbackID, pRTC_CallbackTypeDef pCallback)
 注册用户RTC回调函数以替代弱预定义回调。
HAL_StatusTypeDef HAL_RTC_UnRegisterCallback (RTC_HandleTypeDef *hrtc, HAL_RTC_CallbackIDTypeDef CallbackID)
 注销RTC回调函数。回调将重定向到弱预定义回调。
__weak void HAL_RTC_MspInit (RTC_HandleTypeDef *hrtc)
 初始化RTC MSP。
__weak void HAL_RTC_MspDeInit (RTC_HandleTypeDef *hrtc)
 反初始化RTC MSP。
HAL_StatusTypeDef HAL_RTC_SetTime (RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
 设置RTC当前时间。
HAL_StatusTypeDef HAL_RTC_GetTime (RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
 获取RTC当前时间。
HAL_StatusTypeDef HAL_RTC_SetDate (RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
 设置RTC当前日期。
HAL_StatusTypeDef HAL_RTC_GetDate (RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
 获取RTC当前日期。
HAL_StatusTypeDef HAL_RTC_SetAlarm (RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format)
 设置指定的RTC闹钟。
HAL_StatusTypeDef HAL_RTC_SetAlarm_IT (RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format)
 设置指定的RTC闹钟(带中断)。
HAL_StatusTypeDef HAL_RTC_DeactivateAlarm (RTC_HandleTypeDef *hrtc, uint32_t Alarm)
 禁用指定的RTC闹钟。
HAL_StatusTypeDef HAL_RTC_GetAlarm (RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alarm, uint32_t Format)
 获取RTC闹钟值和掩码。
void HAL_RTC_AlarmIRQHandlers (RTC_HandleTypeDef *hrtc)
 处理闹钟中断请求。
__weak void HAL_RTC_AlarmAEventCallback (RTC_HandleTypeDef *hrtc)
 闹钟A回调函数。
HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent (RTC_HandleTypeDef *hrtc, uint32_t Timeout)
 处理闹钟A轮询请求。
HAL_StatusTypeDef HAL_RTC_WaitForSynchro (RTC_HandleTypeDef *hrtc)
 等待RTC时间和日期寄存器(RTC_TR和RTC_DR)与RTC APB时钟同步。
HAL_RTCStateTypeDef HAL_RTC_GetState (RTC_HandleTypeDef *hrtc)
 返回RTC句柄状态。
HAL_StatusTypeDef RTC_EnterInitMode (RTC_HandleTypeDef *hrtc)
 进入RTC初始化模式。
HAL_StatusTypeDef RTC_ExitInitMode (RTC_HandleTypeDef *hrtc)
 退出RTC初始化模式。
uint8_t RTC_ByteToBcd2 (uint8_t Value)
 将两位十进制数转换为BCD格式。
uint8_t RTC_Bcd2ToByte (uint8_t Value)
 从两位BCD转换为二进制。
void HAL_RTC_DST_Add1Hour (RTC_HandleTypeDef *hrtc)
 夏令时,在日历上一次性添加一小时,无需经过初始化过程。
void HAL_RTC_DST_Sub1Hour (RTC_HandleTypeDef *hrtc)
 夏令时,从日历上一次性减去一小时,无需经过初始化过程。
void HAL_RTC_DST_SetStoreOperation (RTC_HandleTypeDef *hrtc)
 夏令时,设置存储操作位。
void HAL_RTC_DST_ClearStoreOperation (RTC_HandleTypeDef *hrtc)
 夏令时,清除存储操作位。
uint32_t HAL_RTC_DST_ReadStoreOperation (RTC_HandleTypeDef *hrtc)
 夏令时,读取存储操作位。

详细说明

RTC HAL模块驱动程序。本文提供固件函数以管理实时时钟(RTC)外设的以下功能:+ 初始化/反初始化函数+ 日历(时间和日期)配置+ 闹钟(闹钟A和闹钟B)配置+ 唤醒定时器配置+ 时间戳配置+ 篡改检测配置+ 备份数据寄存器配置+ RTC篡改和时间戳引脚选择+ 中断和标志管理。

作者:
MCD Application Team
注意:

版权所有 (c) 2019 STMicroelectronics。保留所有权利。

本软件根据LICENSE文件中列出的条款进行许可。如果没有随软件附带LICENSE文件,则按原样提供。

 ===============================================================================
                          ##### RTC工作条件 #####
 ===============================================================================
  [..] 实时时钟(RTC)和RTC备份寄存器可在主VDD电源关闭时
       从VBAT电压供电。
       为在VDD关闭时保留RTC备份寄存器内容并为RTC供电,
       可将VBAT引脚连接到由电池或其他源提供的可选待机电压。

                   ##### 备份域复位 #####
 ===============================================================================
  [..] 备份域复位将所有RTC寄存器和RCC_BDCR寄存器设置为其复位值。
       发生以下任一事件时生成备份域复位:
    (#) 软件复位,通过在RCC备份域控制寄存器(RCC_BDCR)中设置BDRST位触发。
    (#) VDD或VBAT上电,如果两个电源之前都处于关闭状态。
    (#) 篡改检测事件复位所有数据备份寄存器。

                   ##### 备份域访问 #####
  ==================================================================
  [..] 复位后,备份域(RTC寄存器和RTC备份数据寄存器)
       受到保护以防止可能的意外写入访问。
  [..] 要启用对RTC域和RTC寄存器的访问,请按以下步骤操作:
    (+) 使用__HAL_RCC_PWR_CLK_ENABLE()函数使能功率控制器(PWR)APB1接口时钟。
    (+) 使用HAL_PWR_EnableBkUpAccess()函数启用对RTC域的访问。
    (+) 使用__HAL_RCC_R