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

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

  • 1 RTC的库函数预览
    • 1.1 函数RTC_ITConfig
    • 1.2 函数RTC_EnterConfigMode
    • 1.3 函数RTC_ExitConfigMode
    • 1.4 函数RTC_GetCounter
    • 1.5 函数RTC_SetCounter
    • 1.6 函数RTC_SetPrescaler
    • 1.7 函数RTC_ SetAlarm
    • 1.8 函数RTC_GetDivider
    • 1.9 函数RTC_WaitForLastTask
    • 1.10 函数RTC_WaitForSynchro
    • 1.11 函数RTC_ GetFlagStatus
    • 1.12 函数RTC_ClearFlag
    • 1.13 函数RTC_GetITStatus
    • 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 中断
输入参数 1RTC_IT:待使能或者失能的 RTC 中断源
参阅 Section:RTC_IT 查阅更多该参数允许取值范围
输入参数 2NewState: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 标志位设置与否
输入参数 2RTC_FLAG:待检查的 RTC 标志位
参阅 SectionRTC_FLAG 查阅更多该参数允许取值范围
输出参数
返回值RTC_FLAG 的新状态(SET 或者 RESET)
先决条件
被调用函数

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

RTC_FLAG描述
RTC_FLAG_RTOFFRTC 操作 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 标志位
参阅 SectionI2C_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 中断发生与否
输入参数 2RTC_IT:待检查的 RTC 中断
参阅 SectionRTC_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 的中断待处理位
输入参数 2RTC_IT:待清除的 RTC 中断待处理位
参阅 SectionRTC_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) 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

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

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

相关文章

springboot131企业oa管理系统

企业OA管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了企业OA管理系统的开发全过程。通过分析企业OA管理系统管理的不足,创建了一个计算机管理企业OA管理系统的方案。文章介绍了企业OA管…

android 自定义键盘长按弹窗

自己记忆,下次不用找KeyboardView的onLongPress是长按监听,通过onLongPress可以获取键盘上用户长按的字母override fun onLongPress(popupKey: Keyboard.Key): Boolean {val label popupKey.labelif (!TextUtils.isEmpty(label) && popupKey.codes.get(0) ! MyKeyCode…

字符串相关的函数和内存块相关函数

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

python第五节:集合set(1)

集合是一个无序不重复元素的集合。集合中元素包含在花括号中,例如{a,1,tom,"xy"} 创建集合: 例子1: # set1 {a,1,tom,"xy"}set1 set()set2 set([])set3 set({})# 虽然集合用{}包含集合的元素,但是{}创…

前端开发有没有必要转鸿蒙开发?

前端开发有没有必要转鸿蒙开发?如果后面的工作中有参与鸿蒙开发的机会,那肯定是转呀!毕竟多接触一些技能也不会有什么坏处。 我想说的是:鸿蒙替代不了前端,如果你目前正在从事前端开发,那么你完全可以将鸿蒙…

springboot 整合 ElasticSearch 方法 (二)

依赖 在pom.xml文件中需要引入3个依赖, 三个都必须有并且三个依赖的版本要一致, 不然会报错. 不一定是 7.6.1 这个版本 , 只需要保证这三个依赖的版本一致就可以了. <dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch<…

【C++入门到精通】特殊类的设计 |只能在堆 ( 栈 ) 上创建对象的类 |禁止拷贝和继承的类 [ C++入门 ]

阅读导航 引言一、特殊类 --- 不能被拷贝的类1. C98方式&#xff1a;2. C11方式&#xff1a; 二、特殊类 --- 只能在堆上创建对象的类三、特殊类 --- 只能在栈上创建对象的类四、特殊类 --- 不能被继承的类1. C98方式2. C11方法 总结温馨提示 引言 在面向对象编程中&#xff0…

制作 MSK Connect 的 Confluent Avro Converter + Debezium MySQL Connector 插件包

MSK Connect 的插件包需要将各种插件的 Jar 包及其依赖包放到一起,打成 Zip 包,上传到 S3,然后在MSK Console 上创建插件时指定好 Zip 位置即可。为了便于维护,我们不建议将各种插件的 Jar 包混在一起放入同一个文件内,最好还是按插件原来的名称单独创建文件夹,单独放置各…

Django框架(一)安装与创建项目

认识 Django Django是一个高级Python Web框架&#xff0c;它鼓励快速开发和简洁、实用的设计。它由经验丰富的开发人员构建&#xff0c;解决了Web开发的大部分麻烦&#xff0c;因此您可以专注于编写应用程序&#xff0c;而无需重新发明轮子。它是免费和开源的。 Django官网地…

react hooks 的useState:

React 的 useState Hook 是一种用于在函数组件中管理状态的机制。它可以让函数组件具有类似于类组件的状态管理能力。 useState Hook 接收一个初始值作为参数&#xff0c;并返回一个包含状态值和更新状态值的数组。 import { useState } from react;const [state, setState] …

面试经典150题(93-95)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第五十三天&#xff09;完成了3道(93-95)150&#xff1a; 93.&#xff08;53. 最大子数组和&#xff09;题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&am…

ElasticSearch常用搜索语句与SQL对比

在当今的大数据时代&#xff0c;搜索引擎成为了我们获取信息的重要工具。而ElasticSearch作为一个强大的开源搜索引擎&#xff0c;提供了丰富的搜索功能。下面&#xff0c;我们将介绍ElasticSearch中的一些常用搜索语句&#xff0c;并通过与SQL的对比来帮助大家更好地理解。 1…

代码随想录算法训练营第16天(二叉树4)| 平衡二叉树二叉树的所有路径左叶子之和

110.平衡二叉树 leetcode题目链接 题目链接/文章讲解/视频讲解 重点&#xff1a; 平衡二叉树的概念&#xff1a;所以左子树与右子树的高度差不大于1 使用后序遍历&#xff1a;手机子树的高度&#xff0c;上交给父节点&#xff0c;来计算 代码实现 class Solution { public…

Java笔记 --- 五、File

五、File 概述 将字符串变成File对象&#xff0c;再去使用里面的方法 父级路径&#xff1a;除了文件本身的路径 C:\Users\Desktop 子级路径&#xff1a;文件名 m.txt 常见的成员方法 判断、返回 length 只能获取文件的大小(字节数量) 创建、删除 delete方法默认只能删除…

行测-资料:1. 速算技巧、基期与现期

1、速算技巧 1.1 截位直除 1.1.1 截位 1.1.2 截谁 1.1.3 截几位 选项差距大&#xff1a; 四个选项首位均不同首位相同&#xff0c;第二位差大于首位 选项差距小&#xff1a; 首位相同且第二位差小于等于首位 例子 C&#xff0c;截两位。 C&#xff0c;截两位。 B&#xff0c;截…

JS中的try...catch

一、定义和结构 作用&#xff1a;捕获同步执行代码下的异常错误 在没有使用try...catch的情况下&#xff0c;同步代码执行遇到异常会报错&#xff0c;并中断后续代码执行&#xff1b; 在使用try...catch的情况下&#xff0c;同步代码执行遇到异常会抛出异常&#xff0c;并继续…

[Linux]HTTP状态响应码和示例

1xx&#xff1a;信息响应类&#xff0c;表示接收到请求并且继续处理 2xx&#xff1a;处理成功响应类&#xff0c;表示动作被成功接收、理解和接受 3xx&#xff1a;重定向响应类&#xff0c;为了完成指定的动作&#xff0c;必须接受进一步处理 4xx&#xff1a;客户端错误&#x…

基于ncurse的floppy_bird小游戏

1. 需求分析 将运动分解为鸟的垂直运动和杆的左右运动。 2. 概要设计 2.1 鸟运动部分 2.2 杆的运动 3. 代码实现 #include <stdio.h> #include <ncurses.h>#include <stdlib.h> #include <time.h>int vx 0; int vy 1;int bird_r; int bird_c;int…

奇怪问题说 - 测试篇

文章目录 1.什么是软件测试2.软件测试和开发的区别3.软件测试的发展&#xff1a;4.软件测试岗位5.软件测试在不同类型公司的定位6.一个优秀的软件测试人员具备的素质6.1综合能力6.2掌握自动化测试技术6.3优秀的测试用例设计能力6.4探索性思维6.5有责任感和一定的压力 7.软件测试…

物联网IOT: 风浆叶片拧紧装配及实时监测系统

某大型风电设备,通过机器人应用与精益化生产体系的融合,打造出行业领先的具备柔性生产能力的“脉动式”生产体系。同时在关键工序上。其中,在叶片装配等关键工序上使用由智能机器人代替人工,以提高生产的效率和装配质量可靠性,将六轴机器人、视觉系统、光电系统、液压、气动、伺…