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) 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

相关推荐
数据分析螺丝钉38 分钟前
力扣第240题“搜索二维矩阵 II”
经验分享·python·算法·leetcode·面试
云端奇趣1 小时前
探索 3 个有趣的 GitHub 学习资源库
经验分享·git·学习·github
万界星空科技2 小时前
界星空科技漆包线行业称重系统
运维·经验分享·科技·5g·能源·制造·业界资讯
IG工程师2 小时前
关于 S7 - 1200 通过存储卡进行程序更新
经验分享·笔记·自动化
源代码•宸4 小时前
Leetcode—76. 最小覆盖子串【困难】
c++·经验分享·算法·leetcode·滑动窗口
SZPU领跑4 小时前
第十二届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)(第一套)
stm32·单片机·算法·职场和发展·蓝桥杯
Tlog嵌入式7 小时前
蓝桥杯【物联网】零基础到国奖之路:十六. 扩展模块之矩阵按键
arm开发·stm32·单片机·mcu·物联网·蓝桥杯·iot
打地基的小白7 小时前
UART通信—基于江科大源码基础进行的改进和解析
单片机·嵌入式硬件·uart通信·代码详解
黄小美3218 小时前
STM32(五)GPIO输入硬件电路及C语言知识复习
stm32·单片机·嵌入式硬件
py.鸽鸽8 小时前
STM32
stm32·单片机·嵌入式硬件