文章目录
一、BKP
RTC与备份寄存器BKP一般复位后,为了防止篡改备份数据,默认都是禁止访问的,如果想要访问,就要手动开启。
首先,来介绍一下BKP库函数
重新初始化BKP,使之恢复默认值,当你VDD、VBAT不断电,但你想要复位时使用
void BKP_DeInit(void);
防入侵配置
void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel);
使能防入侵
void BKP_TamperPinCmd(FunctionalState NewState);
BKP中断配置
void BKP_ITConfig(FunctionalState NewState);
RTC输出配置
void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource);
设置RTC校准值
void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue);
写入BKP_DR
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data);
读出BKP_DR的值
uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR);
想要使用BKP很简单,只需要开启PWR与BKP的时钟,当然,除了这,你想要读写BKP,还需要使能BKP的访问。下方几行代码就是BKP的简单使用了
uint16_t DR_Value;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
PWR_BackupAccessCm