BKP外设

BKP外设

  • 防侵入检测
  • 数据复位后不丢失
  • RTC时钟校准

BKP结构

在这里插入图片描述

数据后备寄存器:20字节(中容量和小容量产品),84字节(大容量和互联型产品).
TAMPER引脚:防侵入检测功能。
RTC始终校准寄存器:可用来存储RTC校验值。

初始化流程

  • 开启RCC时钟:PWR和BKP
  • 使能对BKP和RTC的访问:PWR_BackupAccessCmd(ENABLE)
  • BKP读写数据:中容量BKP_DRx只有 1~10

标准库函数使用模板

BKP初始化

void BKP_init(){
   
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP, ENABLE);//开启PWR和BKP时钟
	//使能对BKP和RTC的访问                                       
	PWR_BackupAccessCmd(ENABLE);	
}
	//BKP读写数据
	BKP_WriteBackupRegister(BKP_DR1, 0x1234);//中容量BKP_DRx只有1~10
	BKP_ReadBackupRegister(BKP_DR1);

BKP配置函数

// 检测外部侵入引脚(TAMPER)高低电平
void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel);

// 使能外部入侵检测
void BKP_TamperPinCmd(FunctionalState NewState);

// RTC校准
void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource);

// 配置RTC校准值
void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue);

BKP寄存器/标志位读写

/* BKP_WriteBackupRegister       写数据寄存器
* @ param1  选择 DRx [0~10] / [0~42]
* @ param2  待写入的数据
* @ retval  None
*/
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data);

/* BKP_WriteBackupRegister        读数据寄存器
* @ param1  选择 DRx [0~10] / [0~42]
* @ retval  DRx中的数据
*/
uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR);

/* BKP_GetFlagStatus              获取Tamper引脚挂起标志位
* @ param1  None
* @ retval  SET / RESET
*/
FlagStatus BKP_GetFlagStatus(void);

/* BKP_ClearFlag                  清空Tamper引脚挂起标志位
* @ param1  None
* @ retval  None
*/
void BKP_ClearFlag(void);

BKP_NVIC中断函数


void BKP_ITConfig(FunctionalState NewState);
ITStatus BKP_GetITStatus(void);
void BKP_ClearITPendingBit(void);


                                     ------ BY Flier

2023.9.8

Reference:江协科技、《stm32f10x用户手册》、《stm32库开发实战指南教程》

相关推荐

  1. <span style='color:red;'>BKP</span><span style='color:red;'>外设</span>

    BKP外设

    2023-12-20 07:58:01      35 阅读
  2. RTC<span style='color:red;'>外设</span>

    RTC外设

    2023-12-20 07:58:01      44 阅读
  3. 32RTC&<span style='color:red;'>BKP</span>

    32RTC&BKP

    2023-12-20 07:58:01      33 阅读
  4. <span style='color:red;'>BGP</span>综合

    BGP综合

    2023-12-20 07:58:01      29 阅读
  5. <span style='color:red;'>BSP</span>制作

    BSP制作

    2023-12-20 07:58:01      43 阅读
  6. <span style='color:red;'>BGP</span>实验

    BGP实验

    2023-12-20 07:58:01      32 阅读
  7. <span style='color:red;'>BGP</span>协议

    BGP协议

    2023-12-20 07:58:01      9 阅读
  8. 八、<span style='color:red;'>BGP</span>

    八、BGP

    2023-12-20 07:58:01      5 阅读
  9. BIP39和BIP44】

    2023-12-20 07:58:01       31 阅读

最近更新

  1. 精通C#编程需要学习哪些常用框架?

    2023-12-20 07:58:01       0 阅读
  2. Redis高可用解决方案哨兵模式与集群模式的比较

    2023-12-20 07:58:01       0 阅读
  3. C#实用的工具类库

    2023-12-20 07:58:01       0 阅读
  4. 4085行代码还原2D我的世界(上)

    2023-12-20 07:58:01       1 阅读
  5. 大数据面试题之GreenPlum(1)

    2023-12-20 07:58:01       2 阅读
  6. 量化机器人能否识别市场机会?

    2023-12-20 07:58:01       1 阅读
  7. 探讨SpringMVC的工作原理

    2023-12-20 07:58:01       1 阅读
  8. CSS布局艺术:掌握水平与垂直对齐的秘诀

    2023-12-20 07:58:01       1 阅读
  9. SQL 游标

    2023-12-20 07:58:01       0 阅读

热门阅读

  1. 【.NET Core】反射(Reflection)详解(一)

    2023-12-20 07:58:01       37 阅读
  2. AWS S3相关配置笔记

    2023-12-20 07:58:01       46 阅读
  3. 【优化】Springboot 修改 tomcat连接池

    2023-12-20 07:58:01       39 阅读
  4. Graph2NLP浅谈

    2023-12-20 07:58:01       48 阅读
  5. ClickHouse理论第一篇

    2023-12-20 07:58:01       39 阅读
  6. hadoop运行jar遇到的一个报错

    2023-12-20 07:58:01       34 阅读
  7. 【MyBatis-Plus】常用的内置接口

    2023-12-20 07:58:01       45 阅读
  8. SEO站群服务器选择如何影响优化过程

    2023-12-20 07:58:01       40 阅读