14 STM32标准库函数 之 实时时钟(RTC) 所有函数的介绍及使用

14 STM32标准库函数 之 实时时钟(RTC) 所有函数的介绍及使用

  • [1 RTC的库函数预览](#1 RTC的库函数预览)
    • [1.1 函数RTC_ITConfig](#1.1 函数RTC_ITConfig)
    • [1.2 函数RTC_EnterConfigMode](#1.2 函数RTC_EnterConfigMode)
    • [1.3 函数RTC_ExitConfigMode](#1.3 函数RTC_ExitConfigMode)
    • [1.4 函数RTC_GetCounter](#1.4 函数RTC_GetCounter)
    • [1.5 函数RTC_SetCounter](#1.5 函数RTC_SetCounter)
    • [1.6 函数RTC_SetPrescaler](#1.6 函数RTC_SetPrescaler)
    • [1.7 函数RTC_ SetAlarm](#1.7 函数RTC_ SetAlarm)
    • [1.8 函数RTC_GetDivider](#1.8 函数RTC_GetDivider)
    • [1.9 函数RTC_WaitForLastTask](#1.9 函数RTC_WaitForLastTask)
    • [1.10 函数RTC_WaitForSynchro](#1.10 函数RTC_WaitForSynchro)
    • [1.11 函数RTC_ GetFlagStatus](#1.11 函数RTC_ GetFlagStatus)
    • [1.12 函数RTC_ClearFlag](#1.12 函数RTC_ClearFlag)
    • [1.13 函数RTC_GetITStatus](#1.13 函数RTC_GetITStatus)
    • [1.14 函数RTC_ClearITPendingBit](#1.14 函数RTC_ClearITPendingBit)
  • 该文档修改记录:
  • 总结

1 RTC的库函数预览

函数名 描述
RTC_ITConfig 使能或者失能指定的 RTC 中断
RTC_EnterConfigMode 进入 RTC 配置模式
RTC_ExitConfigMode 退出 RTC 配置模式
RTC_GetCounter 获取 RTC 计数器的值
RTC_SetCounter 设置 RTC 计数器的值
RTC_SetPrescaler 设置 RTC 预分频的值
RTC_SetAlarm 设置 RTC 闹钟的值
RTC_GetDivider 获取 RTC 预分频分频因子的值
RTC_WaitForLastTask 等待最近一次对 RTC 寄存器的写操作完成
RTC_WaitForSynchro 等待 RTC 寄存器(RTC_CNT, RTC_ALR and RTC_PRL)与 RTC 的 APB 时钟同步
RTC_GetFlagStatus 检查指定的 RTC 标志位设置与否
RTC_ClearFlag 清除 RTC 的待处理标志位
RTC_GetITStatus 检查指定的 RTC 中断发生与否
RTC_ClearITPendingBit 清除 RTC 的中断待处理位

1.1 函数RTC_ITConfig

函数名 RTC_ITConfig
函数原形 void RTC_ITConfig(u16 RTC_IT, FunctionalState NewState)
功能描述 使能或者失能指定的 RTC 中断
输入参数 1 RTC_IT:待使能或者失能的 RTC 中断源
参阅 Section:RTC_IT 查阅更多该参数允许取值范围
输入参数 2 NewState:RTC 中断的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件 在使用本函数前必须先调用函数 RTC_WaitForLastTask(),等待标志位 RTOFF 被设置
被调用函数

RTC_IT

输入参数 RTC_IT 使能或者失能 RTC 的中断。

RTC_IT 描述
RTC_IT_OW 溢出中断使能
RTC_IT_ALR 闹钟中断使能
RTC_IT_SEC 秒中断使能

例:

/* Wait until last write operation on RTC registers is terminated /
RTC_WaitForLastTask();
/
Alarm interrupt enabled */ RTC_ITConfig(RTC_IT_ALR, ENABLE);

1.2 函数RTC_EnterConfigMode

函数名 RTC_EnterConfigMode
函数原形 void RTC_EnterConfigMode(void)
功能描述 进入 RTC 配置模式
输入参数
输出参数
返回值
先决条件
被调用函数

例:

/* Enable the configuration mode */

RTC_EnterConfigMode();

1.3 函数RTC_ExitConfigMode

函数名 RTC_ExitConfigMode
函数原形 void RTC_ExitConfigMode(void)
功能描述 该函数用于退出RTC配置模式,将RTC从配置模式切换为运行模式。
输入参数
输出参数
返回值
先决条件
调用函数

例:

/* Exit the configuration mode */

RTC_ExitConfigMode();

1.4 函数RTC_GetCounter

函数名 RTC_GetCounter
函数原形 u32 RTC_GetCounter(void)
功能描述 获取 RTC 计数器的值
输入参数
输出参数
返回值 RTC 计数器的值
先决条件
被调用函数

例:

/* Gets the counter value */

u32 RTCCounterValue;

RTCCounterValue = RTC_GetCounter();

1.5 函数RTC_SetCounter

函数名 RTC_SetCounter
函数原形 void RTC_SetCounter(u32 CounterValue)
功能描述 设置 RTC 计数器的值
输入参数 CounterValue:新的 RTC 计数器值
输出参数
返回值
先决条件 在使用本函数前必须先调用函数 RTC_WaitForLastTask(),等待标志位 RTOFF 被设置
被调用函数 RTC_EnterConfigMode()
RTC_ExitConfigMode()

例:

/* Wait until last write operation on RTC registers is terminated /
RTC_WaitForLastTask();
/
Sets Counter value to 0xFFFF5555 */

RTC_SetCounter(0xFFFF5555);

1.6 函数RTC_SetPrescaler

函数名 RTC_SetPrescaler
函数原形 void RTC_SetPrescaler(u32 PrescalerValue)
功能描述 设置 RTC 预分频的值
输入参数 PrescalerValue:新的 RTC 预分频值
输出参数
返回值
先决条件 在使用本函数前必须先调用函数 RTC_WaitForLastTask(),等待标志位 RTOFF 被设置
被调用函数 RTC_EnterConfigMode()
RTC_ExitConfigMode()

例:

/* Wait until last write operation on RTC registers is terminated /
RTC_WaitForLastTask();
/
Sets Prescaler value to 0x7A12 */

RTC_SetPrescaler(0x7A12);

1.7 函数RTC_ SetAlarm

函数名 RTC_SetAlarm
函数原形 void RTC_SetAlarm(u32 AlarmValue)
功能描述 设置 RTC 闹钟的值
输入参数 AlarmValue:新的 RTC 闹钟值
输出参数
返回值
先决条件 在使用本函数前必须先调用函数 RTC_WaitForLastTask(),等待标志位 RTOFF 被设置
被调用函数 RTC_EnterConfigMode()
RTC_ExitConfigMode()

例:

/* Wait until last write operation on RTC registers is terminated /
RTC_WaitForLastTask();
/
Sets Alarm value to 0xFFFFFFFA */

RTC_SetAlarm(0xFFFFFFFA);

1.8 函数RTC_GetDivider

函数名 RTC_GetDivider
函数原形 u32 RTC_GetDivider(void)
功能描述 获取 RTC 预分频分频因子的值
输入参数
输出参数
返回值 RTC 预分频分频因子的值
先决条件
被调用函数

例:

/* Gets the current RTC Divider value */

u32 RTCDividerValue;

RTCDividerValue = RTC_GetDivider();

1.9 函数RTC_WaitForLastTask

函数名 RTC_WaitForLastTask
函数原形 void RTC_WaitForLastTask(void)
功能描述 等待最近一次对 RTC 寄存器的写操作完成
输入参数
输出参数
返回值
先决条件
被调用函数

例:

/* Wait until last write operation on RTC registers is terminated /
RTC_WaitForLastTask();
/
Sets Alarm value to 0x10 */

RTC_SetAlarm(0x10);

1.10 函数RTC_WaitForSynchro

函数名 RTC_WaitForSynchro
函数原形 void RTC_WaitForSynchro(void)
功能描述 等待最近一次对 RTC 寄存器的写操作完成
输入参数
输出参数
返回值
先决条件
被调用函数

例:

/* Wait until the RTC registers are synchronized with RTC APB clock */

RTC_WaitForSynchro();

1.11 函数RTC_ GetFlagStatus

函数名 RTC_GetFlagStatus
函数原形 FlagStatus RTC_GetFlagStatus(u16 RTC_FLAG)
功能描述 检查指定的 RTC 标志位设置与否
输入参数 2 RTC_FLAG:待检查的 RTC 标志位
参阅 Section RTC_FLAG 查阅更多该参数允许取值范围
输出参数
返回值 RTC_FLAG 的新状态(SET 或者 RESET)
先决条件
被调用函数

RTC_FLAG

函数RTC_ GetFlagStatus检查的标志位列表

RTC_FLAG 描述
RTC_FLAG_RTOFF RTC 操作 OFF 标志位
RTC_FLAG_RSF 寄存器已同步标志位
RTC_FLAG_OW 溢出中断标志位
RTC_FLAG_ALR 闹钟中断标志位
RTC_FLAG_SEC 秒中断标志位

例:

/* Gets the RTC overflow interrupt status */

FlagStatus OverrunFlagStatus;

OverrunFlagStatus = RTC_GetFlagStatus(RTC_Flag_OW);

1.12 函数RTC_ClearFlag

函数名 RTC_ClearFlag
函数原形 void RTC_ClearFlag(u16 RTC_FLAG)
功能描述 清除 RTC 的待处理标志位
输入参数 RTC_FLAG:待清除的 RTC 标志位
参阅 Section I2C_FLAG 查阅更多该参数允许取值范围
注意 标志位RTC_FLAG_RTOFF 不能用软件清除, 标志位RTC_FLAG_RSF 只有在 APB 复位,或者 APB 时钟停止后,才可以清除
输出参数
返回值
先决条件 在使用本函数前必须先调用函数 RTC_WaitForLastTask(), 等待标志位 RTOFF 被设置
被调用函数

例:

/* Wait until last write operation on RTC registers is terminated /
RTC_WaitForLastTask();
/
Clears the RTC overflow flag */

RTC_ClearFlag(RTC_FLAG_OW);

1.13 函数RTC_GetITStatus

函数名 RTC_GetITStatus
函数原形 ITStatus RTC_GetITStatus(u16 RTC_IT)
功能描述 检查指定的 RTC 中断发生与否
输入参数 2 RTC_IT:待检查的 RTC 中断
参阅 Section RTC_IT 查阅更多该参数允许取值范围
输出参数
返回值 RTC_IT 的新状态(SET 或者 RESET)
先决条件
被调用函数

例:

/* Gets the RTC Second interrupt status */

ITStatus SecondITStatus;

SecondITStatus = RTC_GetITStatus(RTC_IT_SEC);

1.14 函数RTC_ClearITPendingBit

函数名 RTC_ClearITPendingBit
函数原形 void RTC_ClearITPendingBit(u16 RTC_IT)
功能描述 清除 RTC 的中断待处理位
输入参数 2 RTC_IT:待清除的 RTC 中断待处理位
参阅 Section RTC_IT 查阅更多该参数允许取值范围
输出参数
返回值
先决条件 在使用本函数前必须先调用函数 RTC_WaitForLastTask(),等待标志位 RTOFF 被设置
被调用函数

例:

/* Wait until last write operation on RTC registers is terminated /
RTC_WaitForLastTask();
/
Clears the RTC Second interrupt */

RTC_ClearITPendingBit(RTC_IT_SEC);

该文档修改记录:

修改时间 修改说明
2024年1月27日 第一次发布,介绍了 14 STM32标准库函数 之 实时时钟(RTC) 所有函数的介绍及使用

总结

以上就是 14 STM32标准库函数 之 实时时钟(RTC) 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

相关推荐
生物小卡拉1 分钟前
R脚本——Deseq2差异表达分析--v1.0
windows·经验分享·笔记·学习·信息可视化·数据分析
livana.11 分钟前
小学scrach入门项目学习幸运大转盘项目
经验分享·学习·其他·scratch
国科安芯3 小时前
ASP4644芯片低功耗设计思路解析
网络·单片机·嵌入式硬件·安全
充哥单片机设计3 小时前
【STM32项目开源】基于STM32的智能厨房火灾燃气监控
stm32·单片机·嵌入式硬件
CiLerLinux10 小时前
第四十九章 ESP32S3 WiFi 路由实验
网络·人工智能·单片机·嵌入式硬件
时光の尘10 小时前
【PCB电路设计】常见元器件简介(电阻、电容、电感、二极管、三极管以及场效应管)
单片机·嵌入式硬件·pcb·二极管·电感·三极管·场效应管
Lu Zelin10 小时前
单片机为什么不能跑Linux
linux·单片机·嵌入式硬件
宁静致远202111 小时前
stm32 freertos下基于hal库的模拟I2C驱动实现
stm32·嵌入式硬件·freertos
风跟我说过她15 小时前
Sqoop的安装与配置
hive·hadoop·经验分享·centos·hbase·sqoop
Wave84516 小时前
STM32--智能小车
stm32·单片机·嵌入式硬件