STM32HAL库RTC时钟

RTC的结构非常像一个简化版的定时器,核心当然是一个计数器,与定时器的16位计数器只能从0计数到65535不同,RTC的计数器是32位的,可以从0技术到4294967295,RTC的计数器前还有个RTC预分频器,可以将时钟源的时钟信号分频为1Hz的信号;我们往往会采用unix时间戳的形式在RTC计数器中记录时间,unix时间戳是一种在计算机领域通用的时间表示方式,其记录的是从1970年1月1日0时0分0秒到当前时刻的秒数,一些使用有符号32位整数记录unix时间戳的系统,其仅能计数到2038年,随后就会溢出,不过我们的RTC计数器无需符号位,可以从1970年记录到2106年。

        我们通过将3.3V接入VDD引脚为其供电,以执行我们的代码程序,而VDD掉电后,程序便无法继续执行。那RTC时钟如何保持掉电后继续走时呢?STM32还为我们提供了VBAT引脚,即使VDD已经掉电,只要我们继续为VBAT引脚供电,STM32就可以维持芯片上一块叫做后备区域的地方继续运行,后备区域内的功能比较简单,耗电很少,因而我们就可以在PCB电路板上板载一颗纽扣电池为其供电,而RTC就在这后备区域中。

        接入到RTC的时钟源有三种:LSE(低速外部时钟)、LSI(低速内部时钟)、HSE(高速外部时钟)的128分频。但只有LSE可以在VDD掉电后继续提供时钟信号,因而通常选择低速外部时钟LSE作为RTC时钟信号。其频率为32.768KHz,后经分频器分频为1Hz。另外STM32的RTC上还有简单的闹钟功能,往闹钟寄存器上设置一个时间戳,计数器与闹钟寄存器数值相等时,触发对应的"闹钟中断"。

        除了RTC时钟,后备区域内另一个主要功能叫做备份寄存器,在我们使用的STM32F103C8T6芯片中,有10个16位的备份寄存器可以用于存储数据,这些寄存器在VDD掉电后依旧靠VBAT维持,因而可以掉电不丢失,并且配有入侵检测功能,产品可以设计使得外壳被开启后给予入侵检测引脚信号,即使是设备外部供电已经断掉,备份寄存器中的数据也能被清除,适合防止重要数据。此外由于均是VBAT供电,VBAT掉电后RTC与备份寄存器中的数据均会丢失,因而备份寄存器也可以用来检测RTC时钟是否被设置过,或者时间是否因为VBAT掉电而丢失。

。。。等待更新 
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/sakabu/article/details/145409954

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[LVGL] 在VC_MFC中移植LVGL

前言: 0. 在MFC中开发LVGL的优点是可以用多个Window界面做辅助扩展 1.本文基于VC2022-MFC单文档框架移植lvgl8 2. gitee上下载lvgl8.3 源码,并将其文件夹改名为lvgl lvgl: LVGL 是一个开源图形库,提供您创建具有易于使用的图形元素、漂亮…

Java----线程池

什么是线程池呢,先举一个情景: 一个火锅店开业了,早上人比较少,大家进店后不需要预约,直接付款在店里的桌子上吃饭,慢慢的人多了,店里的桌子不够用了,没座位的人可以先预约&#xf…

安卓开发,底部导航栏

1、创建导航栏图标 使用系统自带的矢量图库文件,鼠标右键点击res->New->Vector Asset 修改 Name , Clip art 和 Color 再创建一个 同样的方法再创建四个按钮 2、添加百分比布局依赖 app\build.gradle.kts 中添加百分比布局依赖,并点击Sync Now …

每日Attention学习22——Inverted Residual RWKV

模块出处 [arXiv 25] [link] [code] RWKV-UNet: Improving UNet with Long-Range Cooperation for Effective Medical Image Segmentation 模块名称 Inverted Residual RWKV (IR-RWKV) 模块作用 用于vision的RWKV结构 模块结构 模块代码 注:cpp扩展请参考作者原…

Git--使用教程

Git的框架讲解 Git 是一个分布式版本控制系统,其架构设计旨在高效地管理代码版本,支持分布式协作,并确保数据的完整性和安全性。 Git 的核心组件: 工作区(Working Directory): 工作区是你在本…

智慧停车系统:不同规模停车场的应用差异与YunCitys解决方案

在智慧停车领域,不同规模停车场因自身特点,对智慧停车系统的需求和应用效果存在显著差异。云创智城凭借丰富的经验和先进的技术,为各类规模停车场打造了贴合需求的智慧停车系统,下面为您详细剖析。 小型停车场:精准高…

snort的学习记录

一、what is snort?什么是snort? Snort 是一款开源的 网络入侵检测系统(NIDS) 和 网络入侵防御系统(NIPS),能够实时监控网络流量,检测恶意行为(如端口扫描、SQL注入、DDoS攻击等&a…

PHP-trim

[题目信息]: 题目名称题目难度PHP-trim1 [题目考点]: trim() 函数移除字符串两侧的空白字符或其他预定义字符。[Flag格式]: SangFor{dl9hFiITmhQNAJysCgigAskyCZ6kQaDc}[环境部署]: docker-compose.yml文件或者docker tar原始文件。 ht…

maven如何不把依赖的jar打包到同一个jar?

spring boot项目打jar包部署: 经过以下步骤, 最终会形成maven依赖的多个jar(包括lib下添加的)、 我们编写的程序代码打成一个jar,将程序jar与 依赖jar分开,便于管理: success: 最终…

【ArcGIS Pro 简介1】

ArcGIS Pro 是由 Esri (Environmental Systems Research Institute)公司开发的下一代桌面地理信息系统(GIS)软件,是传统 ArcMap 的现代化替代产品。它结合了强大的空间分析能力、直观的用户界面和先进的三维可视化技术…

DeepSeek 部署过程中的问题

文章目录 DeepSeek 部署过程中的问题一、部署扩展:docker 部署 DS1.1 部署1.2 可视化 二、问题三、GPU 设置3.1 ollama GPU 的支持情况3.2 更新 GPU 驱动3.3 安装 cuda3.4 下载 cuDNN3.5 配置环境变量 四、测试 DeepSeek 部署过程中的问题 Windows 中 利用 ollama 来…

Elasticsearch基本使用详解

文章目录 Elasticsearch基本使用详解一、引言二、环境搭建1、安装 Elasticsearch2、安装 Kibana(可选) 三、索引操作1、创建索引2、查看索引3、删除索引 四、数据操作1、插入数据2、查询数据(1)简单查询(2)…

点(线)集最小包围外轮廓效果赏析

“ 图像、点集、线集合最小外轮廓计算应用较为广泛,如抠图、神奇选择、LOD、碰撞检查等领域,提高场景效率” 1.前言 作者基于递归迭代求解实现点集的最小外轮廓计算,在CGLib库中实现,已集成于CGViewer,可联系作者试用&…

IOPS与吞吐量、读写块大小及延迟之间的关系

IOPS(每秒输入/输出操作次数)、吞吐量、读写块大小及延迟是衡量存储系统性能的四个关键指标,它们之间存在密切的关系。以下从多个方面详细说明这些指标之间的关系: 1. IOPS与吞吐量的关系 公式关系:吞吐量&#xff0…

FPGA与ASIC:到底选哪个好?

不少人想转行FPGA,但在ASIC和FPGA之间犹豫不决。要做出选择,首先需要清楚两者的区别和各自特点。 FPGA (Field Programmable Gate Array) 是一种现场可编程门阵列芯片,本质上它是一种半定制的芯片,可以根据需要重新编程&#xff…

LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略

LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略 目录 synthetic-data-generator的简介 1、核心功能和优势 2、特点 synthetic-data-generator的安装和使用方法 1、安装 pip安装 安装依赖项 运行应用 2、使用方法 快速入…

第二天:系统从BIOS/UEFI到GRUB/bootloader的启动过程

目录 **一、BIOS/UEFI初始化阶段****二、引导加载程序(GRUB)的启动过程****1. BIOS模式下的GRUB分阶段加载****2. UEFI模式下的GRUB加载** **三、操作系统内核加载与初始化****四、关键组件与配置文件****五、故障排查与恢复****总结**常见问题如何在UEF…

113,【5】 功防世界 web unseping

进入靶场 代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;方便开发者查看代码结构和内容 highlight_file(__FILE__);// 定义一个名为 ease 的类 class ease {// 私有属性 $method&#xff0c;用于存储要调用的方法名private $method;// 私有属性 $args&…

图解BWT(Burrows-Wheeler Transform) 算法

Burrows-Wheeler Transform (BWT) 是一种数据转换算法, 主要用于数据压缩领域. 它由 Michael Burrows 和 David Wheeler 在 1994 年提出, 广泛应用于无损数据压缩算法(如 bzip2)中. BWT 的核心思想是通过重新排列输入数据, 使得相同的字符更容易聚集在一起, 从而提高后续压缩算…

DeepSeek辅助学术写作【句子重写】效果如何?

句子重写(功能指数:★★★★★) 当我们想引用一篇文章中的一-些我们认为写得很好的句子时&#xff0c;如果直接将原文加人自己的文章&#xff0c;那么即使我们标注上了引用&#xff0c;也依旧会被查重软件计算在重复比例中。查重比例过高的话&#xff0c;会影响投稿或毕业答辩送…