STM32---RTC(Real Time Clock)

2023-11-07


前言

STM32—RTC(Real Time Clock)

提示:以下是本篇文章正文内容,下面案例可供参考

一、RTC概述

RTC就是实时时钟,详细英文(Real Time Clock)。
实时时钟(RTC)是一个独立的BCD定时器/计数器。RTC提供一个日历时钟、两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。
两个32位寄存器包含二进码十进数格式(BCD)的秒、分钟、小时(12或24小时制)、星期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。
系统可以自动将月份的天数补偿为28、29(闰年)、30和31天。并且还可以进行夏令时补偿。
其他32位寄存器还包含可编程的闹钟亚秒、秒、分钟、小时、星期几和日期。
此外,还可以使用数字校准功能对晶振精度的偏差进行补偿。
上电复位后,所有RTC寄存器都会受到保护,以防止可能的非正常写访问。无论器件状态如何(运行模式、低功耗模式或处于复位状态),只要电源电压保持在工作范围内,RTC便不会停止工作。

二、详细描述

在这里插入图片描述


三、中断配置注意事项

1、所有RTC中断均与EXTI控制器相连

2、要使能RTC闹钟中断,需按照以下顺序操作:

1.将EXTI线17配置为中断模式并将其使能,然后选择上升沿有效。
2.配置NVIC中的RTC_Alarm IRQ通道并将其使能。
3.配置RTC以生成RTC闹钟(闹钟A或闹钟B)。

3、要使能RTC唤醒中断,需按照以下顺序操作:

1.将 EXTI 线 22 配置为中断模式并将其使能,然后选择上升沿有效。
2.配置 NVIC 中的 RTC_WKUP IRQ 通道并将其使能。
3.配置 RTC 以生成 RTC 唤醒定时器事件。

四、BCD码

二进制编码的十进制数,简称BCD码(Binary Coded Decimal)。这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符。4位二进制数码有16种组合,原则上可任选其中的10种作为代码,分别代表十进制中的0,1,2,3,4,5,6,7,8,9 这十个数符。最常用的BCD码称为8421BCD码,8.4.2.1 分别是4位二进数的位取值。 下图为十进制数和8421BCD编码的对应关系表:
在这里插入图片描述

五、RTC备份寄存器

1、概述

备份寄存器 (RTC_BKPxR) 包括20 个 32 位寄存器,用于存储 80 字节的用户应用数据。这些寄存器在备份域中实现,可在 VDD 电源关闭时通过 VBAT 保持上电状态。备份寄存器不会
在系统复位或电源复位时复位,也不会在器件从待机模式唤醒时复位。
为了防止每次复位重置RTC时间,可以利用RTC自带的备份寄存器来实现。步骤如下:
1.初始化RTC时间的时候,接着去设置RTC备份寄存器的值。
2.复位的时候,去读取RTC备份寄存器的值,判断是否跟之前的值是否一致,若一致,则执行普通的时钟、电源、中断初始化。

六、源码地址

RTC案例

总结

以上就是今天要讲的内容,本文仅仅简单介绍了RTC的使用,而STM32的其他一些使用模块,请各位大神移步本博主其他文章或是关注博主等待后续发布。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32---RTC(Real Time Clock) 的相关文章

  • https是如何保住信息安全的?

    https采用的是非对称加密以及对称加密混合的加密方式加密来保证用户安全的 他比http协议多了一层加密层 SSL TSL 要详细说明这个 我们要从不加密开始说起 如果不加密的话 浏览器和服务器的交流 很容易就会被第三方拦截 然后信息被偷看
  • iphone降级_iPhone完美降级已实现,checkm8实现降级iOS10.3.3

    前段时间苹果的A5 A11设备被爆出巨大硬件级漏洞 由一位信息安全人员axi0mX 在社交软件上分享了出来 原文翻译过来checkm8 漏洞是一个针对苹果历代产品不可修复的bootrom 嵌入处理器芯片内的一小块掩模ROM或写保护闪存 虽然
  • Yaoo Messenger For Vista发布了

    Yaoo Messenger For Vista发布了 下载地址 http messenger yahoo com download vista php 转载于 https www cnblogs com tangpepper archiv
  • 用 Go 语言实现视频处理服务:从 Java 到 Go 的完整指南

    本文将详细介绍如何使用 Go 语言开发视频处理服务 包括视频转码和拼接功能 我们将首先简要介绍 Go 语言的基本概念 然后通过对比 Java 和 Go 代码 详细介绍如何实现视频转码和拼接功能 并提供相应的代码示例 本教程旨在帮助 Java

随机推荐