// 写入数据到备份寄存器 BKP_WriteBackupRegister(BKP_DR1, writeData[0]); BKP_WriteBackupRegister(BKP_DR2, writeData[1]); // 读取数据从备份寄存器 readData[0] = BKP_ReadBackupRegister(BKP_DR1); readData[1] = BKP_ReadBackupRegister(BKP_DR2); // 在此处可以添加代码来验证读取的数据是否正确 ...
1、初始化delay_init, LED_Init 函数; 2、通过函数BKP_DATA往BKP写数据,成功则返回0; 3、写入成功则LED慢闪,写入失败则快闪。 在BKP_DATA函数中打开PWR时钟,使能BKP, 先通过WriteToBackupReg函数写入数据,在通过CheckBackupReg读取写入的数据是否正确。两个函数代码如下: 实验现象...
库函数操作 main.c #include"stm32f10x.h"#include"stdio.h"#definePRINTF_ON1#defineCHECK_CODE0xAE86voidRCC_Configuration(void);voidGPIO_Configuration(void);voidNVIC_Configuration(void);voidUSART_Configuration(void);voidBKP_Configuration(void);voidPrintBKP(void);voidWriteBKP(u16Data,u8DRNumber);u8Che...
* @brief Writes user data to the specified Data Backup Register. * @param BKP_DR: specifies the Data Backup Register. * This parameter can be BKP_DRx where x:[1, 42] * @param Data: data to write * @retval None */ void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) ...
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) { __IO uint32_t tmp = 0; /* Check the parameters */ assert_param(IS_BKP_DR(BKP_DR)); tmp = (uint32_t)BKP_BASE; tmp += BKP_DR; *(__IO uint32_t *) tmp = Data; ...
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) { __IO uint32_t tmp = 0; /* Check the parameters */ assert_param(IS_BKP_DR(BKP_DR)); tmp = (uint32_t)BKP_BASE; tmp += BKP_DR; *(__IO uint32_t *) tmp = Data; ...
可以输出RTC校准时钟、RTC闹钟或秒脉冲voidBKP_RTCOutputConfig(uint16_tBKP_RTCOutputSource);// 设置RTC校准值voidBKP_SetRTCCalibrationValue(uint8_tCalibrationValue);// 写指定的BKP数据寄存器voidBKP_WriteBackupRegister(uint16_tBKP_DR,uint16_tData);// 读指定的BKP数据寄存器uint16_tBKP_ReadBackupRegister...
BKP_WriteBackupRegister(BKP_DR1,Data[0]);//数据写入,在做STM32下电测试时,写入代码注释 BKP_...
关键数据是 ...手快,笔误,确实是4KB。在项目中,可以实现掉电存储,但是又比写Flash 快很多哦 ...
data to write * @retval None */ void BKP_WriteRegister(uint16_t BKP_, uint16_t Data __IO uint32_t tmp = 0; /* Check the parameters */ assert_IS_BKP_DR(BKP_DR)); = (uint32_t)BKP_BASE; tmp+= BKP_DR; *(__IO uint32_t *) = Data; } 即只需要提供...