BKP备份寄存器、RTC实时时钟

2024-01-29 07:12

本文主要是介绍BKP备份寄存器、RTC实时时钟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.  BKP (Backup Registers)备份寄存器

2.  RTC (Real Time Clock)实时时钟


1.  BKP (Backup Registers)备份寄存器

        BKP可用于存储用户应用程序数据。当VDD (2.0-3.6V)电源被切断,他们仍然由VBAT (1.8-3.6V)维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位。

        TAMPER引脚产生的侵入事件将所有备份寄存器内容清除。

        RTC引脚输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲。

        存储RTC时钟校准寄存器用户数据存储容量:20字节(中容量和小容量) /84字节(大容量和互联型)。

        当VDD主电源掉电,后备区域仍然可以有VBAT的备用电源供电。

        当VDD主电源上电,后背区域供电会有VBAT切换到VDD。

        BKP里主要有数据寄存器,控制寄存器,状态寄存器和RTC始终校准寄存器。

2.  RTC (Real Time Clock)实时时钟

        RTC是一个独立的定时器,可为系统提供时钟和日历的功能。

        RTC和时钟配置系统处于后备区域,系统复位时数据不清零,VDD(2.0-3.6V)断电后可借助VBAT (1.8-3.6V)供电继续走时。

        32位的可编程计数器,可对应Unix时间戳的秒计数器20位的可编程预分频器,可适配不同频率的输入时钟。

可选择三种RTC时钟源:

HSE时钟除以128 (通常为8MHz/128)

LSE振荡器时钟(通常为32.768KHz)

LSI振荡器时钟(40KHz)

具体可参考:

STM32F1之RTC实时时钟(Unix时间戳)-CSDN博客

高速时钟,主要供内部程序运行和主要外设使用;

低速时钟,主要供RTC,看门狗这些使用。

        对于RTC有三路

        第一路:8MHz晶振,需要注意,对于8MHz晶振,需要提前分频,由于8MHz的晶振太快,若是不进行128的分频,即便后续通过RTC的20位分频器也分不到1Hz的频率

        第二路:32.768KHz晶振,不需要再进行分频,可以和RTC直接连接

        第三路:40KHz,主要作为看门狗时钟,可以作为备选RTC的时钟。

相关函数运用介绍:

void BKP_DeInit(void);

        手动清空BKP所有的数据寄存器。

        当有备用电源的情况下,BKP的数据主电源掉电不清零,上电复位也不清零,但是要是想进行清零操作,可以调用这个函数。

void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel);
void BKP_TamperPinCmd(FunctionalState NewState);

        配置TAMPER侵入检测功能。

BKP_TamperPinLevelConfig

        配置TAMPER引脚的有效电平。

BKP_TamperPinCmd

        是否开启入侵检测功能。

void BKP_ITConfig(FunctionalState NewState);

        中断配置。

void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource);

        时钟输出功能配置。

void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue);

        设置RTC校准值。就是写入RTC校准寄存器。

void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data);

        写备份寄存器,第一个参数指定要写在哪个DR里,第二个参数指定要写入的数据。

uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR);

        读备份寄存器。要读哪个DR,返回值就是DR里存的值。

Visual Studio编辑器中C4996 ‘scanf‘: This function or variable may be unsafe.问题解决方案-CSDN博客

Visual Studio编辑器左侧菜单栏不小心关掉如何打开(左侧解决方案资源管理器不显示如何打开)、C语言中int main和void main的区别以及C工程的创建_visual studio2022 资源管理器怎么打开桌面面板-CSDN博客

STM32F1之RTC实时时钟(Unix时间戳)-CSDN博客

这篇关于BKP备份寄存器、RTC实时时钟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/656142

相关文章

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

为备份驱动器制定备份计划:维护数据的3大方法

时间:2014-02-26 14:49 来源:网管之家 字体:[大 中 小]   您可能已经对您的电脑进行了备份,但其实这样还是远远不够的,其并非如您所认为的那样安全。您企业备份驱动器上的文件可能与您的主系统上的文件一样,容易受到灾难的影响。根据最近流行的恶意软件CryptoLocker的感染途径显示,连接到PC的外置驱动器——辅助硬盘驱动器,例如,用于备份的外部USB硬盘驱动器,可以像

三.海量数据实时分析-FlinkCDC实现Mysql数据同步到Doris

FlinkCDC 同步Mysql到Doris 参考:https://nightlies.apache.org/flink/flink-cdc-docs-release-3.0/zh/docs/get-started/quickstart/mysql-to-doris/ 1.安装Flink 下载 Flink 1.18.0,下载后把压缩包上传到服务器,使用tar -zxvf flink-xxx-

使用shell脚本安装mysql8,进行主从备份配置

思路 在3台主机上安装mysql进行主从备份配置 使用rpm包yum安装mysql 首先,我们要准备好安装文件,首先下载rpm包 wget -P "/opt/" https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm 然后执行安装(默认已配置阿里云的yum仓库 yum -y install mysql80