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

相关文章

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

使用Python实现实时金价监控并自动提醒功能

《使用Python实现实时金价监控并自动提醒功能》在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价,但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控... 目录工具能干啥?手把手教你用1、先装好这些"食材"2、代码实现讲解1. 用户输入参数2. 设置无头浏

使用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