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

news2024/11/25 15:25:56

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

  • 1. 图片有格式
  • 2 文字无格式
    • 二、RTC库函数固件库函数预览
      • 2.1 函数RTC_ITConfig
      • 2.2 函数RTC_EnterConfigMode
      • 2.3 函数RTC_ExitConfigMode
      • 2.4 函数RTC_GetCounter
      • .2.5 函数RTC_SetCounter
      • 2.6 函数RTC_SetPrescaler
      • 2.7 函数RTC_SetAlarm
      • 2.8 函数RTC_GetDivider
      • 2.9 函数RTC_WaitForLastTask
      • 2.10 函数RTC_WaitForSynchro
      • 2.11 函数RTC_GetFlagStatus
      • 2.12 函数RTC_ClearFlag
      • 2.13 函数RTC_GetITStatus
      • 2.14 函数RTC_ClearITPendingBit
  • 该文档修改记录:
  • 总结

函数描述格式:

函数名外设函数的名称
函数原形原形声明
功能描述简要解释函数是如何执行的
输入参数{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)所有函数的介绍及使用所有函数的简单使用。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1193497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

评估 RAG 的神器来啦!TruLens + Milvus=?

大型语言模型(LLM)的日益普及引爆了向量数据库赛道,向量搜索技术也越发受到开发者关注。目前,主流的向量搜索技术提供者包括向量数据库 Milvus 和 Zilliz Cloud,向量搜索库 FAISS,以及与传统数据库集成的向…

清华陆向谦教授提到的纽约时报的一篇文章-探讨学历贬值

文章内容来自: https://www.nytimes.com/2017/11/01/education/edlife/stem-jobs-industry-careers.html By Steve Lohr Nov. 1, 2017 阅读简体中文版閱讀繁體中文版 The national priority in education can be summed up in a four-letter acronym: STEM. And…

数据仓库工具箱-第三章-零售业务

文章目录 一、维度模型设计的4步过程1.1 第一步:选择业务过程1.2 第二步:声明粒度1.3 第三步:确定维度1.4 第四步:确定事实 二、零售业务案例研究2.1 第一步:选择业务过程2.2 第二步:声明粒度2.3 第三步&am…

JS加密/解密之用jsjiami保护您的劳动成果

当保护 JavaScript 代码成为开发者关注的重要问题时,许多人会寻求使用加密工具来确保其代码的安全性。下面是一个关于开发者张三如何使用 AES 加密结合 jsjiami来保护其通用后台管理框架的故事: 张三的故事 张三是一位资深的软件工程师,他花…

IT项目管理必备软件,这10款精心整理的项目管理工具请收好!

在快节奏的办公环境下,拥有一支高效的团队是成功的关键。每个团队成员需要能够迅速地沟通,共享信息,跟踪项目进度,并协调工作流程。而为了达到这样的效率,我们需要用到各种强大而实用的项目协作工具。 团队协作工具有…

无人机航迹规划:五种最新智能优化算法(COA、SWO、KOA、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(LSO、SWO、KOA、GRO、LO)简介 1、小龙虾优化算法COA 小龙虾优化算法(Crayfsh optimization algorithm,COA)由Jia Heming 等人于2023年提出,该算法模拟小龙虾的避暑、竞争和觅食行为&#xf…

基于AI智能分析网关的智慧视频监控系统一站式解决方案

1、功能概述 TSINGEE智能分析网关EasyCVR智慧视频监控系统基于云-边-端一体化协同架构,可兼容多协议、多类型的设备接入,实现视频数据采集、海量视频汇聚与处理、按需调阅、全网分发、 告警消息推送、数据级联共享、AI智能分析接入等视频能力服务&#…

我用Devchat开发了公务员报名确认系统自动登录脚本,再也不用担心挤不进去了

#AI编程助手哪家好?DevChat“真”好用 # 演示效果 我用Devchat开发了公务员报名确认系统自动登录,再也不用担心挤不进去了 目录 演示效果前言粉丝独家专属红包码DevChat是什么?DevChat AI编程助手有哪些优势一、安装Vscode1、下载vscode链接…

字形变换-头歌

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行Z字形排列。之后,你的输出需要从左往右逐行读取,产生出一个新的字符串 示例 : 输入: s "QAZWSXEDCRFVTG",numRows 4 输出:"QETAXDVGZSCFWR&…

直播会议一体机安卓主板_5G智能会议一体机双屏异显设计

5G直播会议一体机主板是专门为支持音视频输入输出而设计的,内置有安卓13系统,可兼容多种直播和会议软件。该产品可广泛应用于智能会议一体机、便携式直播设备、录播导播、无人机直播以及视频传输等多个领域。 这款主板采用了国产6纳米旗舰芯片紫光展锐T8…

试题:最大的矩形(给定直方图里面积最大的矩形)

问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的…

【MySQL】想不想知道数据库到底是啥?想了就进来看看

数据库是什么 前言正式开始连接mysql理解mysql第一层理解第二层理解第三层理解 小问题见见猪跑show databases;create database xxx;create table xxx; 主流数据库mysql架构SQL语句的种类存储引擎 前言 你手上有没有MySQL?有了最好,没有的话建议下一个&…

Echarts多条折线图 y轴与实时值提示框数值不一致解决方法:

Echarts多条折线图 y轴与实时值提示框数值不一致解决方法: 删除stack属性即可 stack看官网就是数据堆叠 发现这个bug,特此记录

【虹科干货】TWAMP:什么是双向主动测量协议?

TWAMP(双向主动测量协议)是什么?它在网络性能测量中有什么作用?如果您对IP网络中设备之间的性能问题感兴趣,或者想了解TWAMP与OWAMP之间的区别,以及TWAMP测试的好处。 一、TWAMP是什么? TWAMP代…

GeoGebra:数学动画制作工具重磅来袭

【线性代数】线性代数可视化工具:manim manim是之前我跟大家分享的一个线性代数动画制作工具。 但我之前的描述有些许偏差,这里要更正一下,manim不仅限于制作线性代数动画,也可以制作数学其他学科的动画,例如微积分&…

数据分析-numpy

numpy numpy numpy简介优点下载ndarray的属性输出数据类型routines 函数ndarray对象的读写操作ndarray的级联和切分级联切分 ndarray的基本运算广播机制(Broadcast)ndarry的聚合操作数组元素的操作numpy 数学函数numpy 查找和排序 写在最后面 简介 nump…

k8s的安装部署,详细过程展示(保姆级安装教程)

k8s应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义资源使用…

PanNet: A deep network architecture for pan-sharpening(ICCV 2017)

文章目录 AbstractIntroduction过去方法存在的问题我们提出新的解决方法Related work PanNet: A deep network for pan-sharpening(PanNet:用于泛锐化的深度网络)Background and motivationPanNet architectureSpectral preservationStructural preserva…

网络原理---拿捏HTTP协议:请求和响应

文章目录 认识请求首行URLURL的格式URL的encode和decode 版本号方法GET方法POST方法GET VS POST 请求头:headerHostContent-Length 和 Content-TypeUser-Agent(UA)RefererCookie 空行正文:body如何构造HTTP请求?浏览器…

浙大恩特客户资源管理系统任意文件上传漏洞复现

0x01 产品简介 浙大恩特客户资源管理系统是一款针对企业客户资源管理的软件产品。该系统旨在帮助企业高效地管理和利用客户资源,提升销售和市场营销的效果。 0x02 漏洞概述 浙大恩特客户资源管理系统中fileupload.jsp接口处存在文件上传漏洞,未经身份认…