当前位置: 首页 > news >正文

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博客

http://www.lryc.cn/news/289308.html

相关文章:

  • k8s 进阶实战笔记 | Scheduler 调度策略总结
  • 微服务-微服务Spring-cloud-open-feign
  • 分类预测 | Matlab实现DT决策树多特征分类预测
  • 随机点名--好玩哦
  • Linux下的进程操作
  • uniapp scroll-view用法[下拉刷新,触底事件等等...](4)
  • 聊聊大模型 RAG 探索之路的血泪史,一周出Demo,半年用不好
  • UniApp 生命周期详解
  • 用大模型训练实体机器人,谷歌推出机器人代理模型
  • HCIA-HarmonyOS设备开发认证-2.设备开发入门
  • 2. HarmonyOS 应用开发 DevEco Studio 准备-2
  • 【K8S 云原生】K8S的图形化工具——Rancher
  • 3. SQL 语言
  • Android音量调节修改
  • 九州金榜|为什么鼓励式家庭教育?
  • Java复习系列之阶段二:数据库
  • TCP 异常断开连接【重点】
  • Biotin-PEG4-TSA,生物素-PEG4-酪胺,用于标记蛋白质、核酸等生物分子
  • Python环境下基于机器学习的NASA涡轮风扇发动机剩余使用寿命RUL预测
  • Vite学习指南
  • 无人机在三维空间中的转动问题
  • 鸿蒙开发初体验
  • 【Axure教程0基础入门】02高保真基础
  • 【GitHub项目推荐--常见的国内镜像】【转载】
  • 实战 | OpenCV+OCR实现弧形文字识别实例(详细步骤 + 源码)
  • 哪些 3D 建模软件值得推荐?
  • AI论文指南|人大教授教你如何利用ChatGPT革新内容分析!【建议收藏】
  • leetcode 字符串相关题目
  • 第二百九十一回
  • 简化java代码:mapstruct + 策略模式