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


    函数描述格式:

    函数名外设函数的名称
    函数原形原形声明
    功能描述简要解释函数是如何执行的
    输入参数{x}输入参数描述
    输出参数{x}输出参数描述
    返回值函数的返回值
    先决条件调用函数前应满足的要求
    被调用函数其他被该函数调用的库函数

    缩写定义

    缩写外设/单元
    ADC模数转换器
    BKP备份寄存器
    CAN控制器局域网模块
    DMA直接内存存取控制器
    EXTI外部中断事件控制器
    FLASH闪存存储器
    GPIO通用输入输出
    I2C内部集成电路
    IWDG独立看门狗
    NVIC嵌套中断向量列表控制器
    PWR电源/功耗控制
    RCC复位与时钟控制器
    RTC实时时钟
    SPI串行外设接口
    SysTick系统嘀嗒定时器
    TIM通用定时器
    TIM1高级控制定时器
    USART通用同步异步接收发射端
    WWDG窗口看门狗

    1. 图片有格式

    因为从OneNote复制到CSDN上只能是图片,粘贴不了文字,所以就显示图片,在该博客后半部分会补充上相关函数的文字。
    如果只是学习了解函数可以看图片,图片有格式,比较友好;需要使用某个函数,可以去博客后半部分copy使用。
    在这里插入图片描述

    2 文字无格式

    八 库函数之实时时钟(RTC)所有函数的介绍及使用

    前言
    RTC 提供了一系列连续工作的计数器,配合适当的软件, 具有提供时钟- 日历的功能。写入计数器的值可 以设置整个系统的时间/日期。
    实时时钟(RTC)是一种计时和时间跟踪设备,通常用于计算机系统、嵌入式系统和电子设备中。其主要功能是精确地测量时间,包括日期和时间,以及跟踪时间的流逝。以下是有关实时时钟的一些重要信息:
    精确性:RTC 设备设计用来提供高度准确的时间测量。它们通常能够保持时间准确性,即使系统断电或关机也能保持。
    使用场景:RTC 主要用于记录时间戳、计时、数据日志、事件调度等应用。它们在很多领域都有用武之地,包括计算机系统、网络设备、嵌入式系统、自动化系统、移动设备、汽车和电子设备等。
    RTC 设备类型:有多种类型的RTC设备,包括硬件RTC芯片、软件RTC以及混合型RTC。硬件RTC通常是一块独立的芯片,内置时钟电路和电池备份,以确保即使系统关闭或掉电也能继续运行。软件RTC则通过系统软件来模拟RTC功能,通常不具备硬件RTC的精确性。混合型RTC则结合了硬件和软件元素。
    电池备份:RTC通常需要电池备份,以确保在断电或系统关机时仍能保持时间的准确性。这些备用电池通常设计成可持续供电多年。
    接口:RTC设备通常具有通信接口,以便与主机系统进行交互,如I2C(Inter-Integrated Circuit)、SPI(Serial Peripheral Interface)或UART(Universal Asynchronous Receiver-Transmitter)。
    使用范围:RTC设备的使用范围非常广泛,从简单的手表和闹钟,到复杂的服务器、路由器和工业控制系统,都需要时间精确的功能。

    函数描述格式:
    函数名 外设函数的名称
    函数原形 原形声明
    功能描述 简要解释函数是如何执行的
    输入参数{x} 输入参数描述
    输出参数{x} 输出参数描述
    返回值 函数的返回值
    先决条件 调用函数前应满足的要求
    被调用函数 其他被该函数调用的库函数
    一、图片预览,无格式(CSDN)

    二、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 的中断待处理位

    2.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);

    2.2 函数RTC_EnterConfigMode

    函数名 RTC_EnterConfigMode
    函数原形 void RTC_EnterConfigMode(void)
    功能描述 进入 RTC 配置模式
    输入参数 无
    输出参数 无
    返回值 无
    先决条件 无
    被调用函数 无
    例:
    /* Enable the configuration mode */
    RTC_EnterConfigMode();

    2.3 函数RTC_ExitConfigMode

    函数名 RTC_ExitConfigMode
    函数原形 void RTC_ExitConfigMode(void)
    功能描述 退出 RTC 配置模式
    输入参数 无
    输出参数 无
    返回值 无
    先决条件 无
    被调用函数 无
    例:
    /* Exit the configuration mode */
    RTC_ExitConfigMode();

    2.4 函数RTC_GetCounter

    函数名 RTC_GetCounter
    函数原形 u32 RTC_GetCounter(void)
    功能描述 获取 RTC 计数器的值
    输入参数 无
    输出参数 无
    返回值 RTC 计数器的值
    先决条件 无
    被调用函数 无
    例:
    /* Gets the counter value */
    u32 RTCCounterValue;
    RTCCounterValue = RTC_GetCounter();

    .2.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);

    2.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);

    2.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);

    2.8 函数RTC_GetDivider

    函数名 RTC_GetDivider
    函数原形 u32 RTC_GetDivider(void)
    功能描述 获取 RTC 预分频分频因子的值
    输入参数 无
    输出参数 无
    返回值 RTC 预分频分频因子的值
    先决条件 无
    被调用函数 无
    例:
    /* Gets the current RTC Divider value */
    u32 RTCDividerValue;
    RTCDividerValue = RTC_GetDivider();

    2.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);

    2.10 函数RTC_WaitForSynchro

    函数名 RTC_WaitForSynchro
    函数原形 void RTC_WaitForSynchro(void)
    功能描述 等待最近一次对 RTC 寄存器的写操作完成
    输入参数 无
    输出参数 无
    返回值 无
    先决条件 无
    被调用函数 无
    例:
    /* Wait until the RTC registers are synchronized with RTC APB clock */
    RTC_WaitForSynchro();

    2.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_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);

    2.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);

    2.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);

    2.14 函数RTC_ClearITPendingBit


    函数名 RTC_ClearITPendingBit
    函数原形 ITStatus RTC_GetITStatus(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);

    该文档修改记录:

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

    总结

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

  • 相关阅读:
    ip地址与网络上的其他地址有冲突吗?
    JavaScript中多种获取数组最后一个元素的策略。
    什么是单子?Java 开发人员的基本理论
    开源的大模型
    微服务初级入门实战分布式项目构建
    王道 第五章 传输层
    接口测试——接口协议抓包分析与mock_L3
    CSS文本属性
    什么是大语言模型以及如何构建自己的大型语言模型?
    第四章 决策树
  • 原文地址:https://blog.csdn.net/qq_50808730/article/details/134340228