在BKP写入数据的时候需要先打开时钟,使能备份寄存器访问RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); PWR_BackupAccessCmd(ENABLE); BKP_WriteBackupRegister(BKP_DR1, 0xXXXX); 如果只从BKP读取数据而不进行写操作,即使不打开时钟也可以正常工作么? BKP_ReadBackupRegister(BKP_DR1); BKP读取和RCC无关么? 那么是否需要在BKP写数据之后要关闭时钟,并失能备份寄存器访问呢? RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); PWR_BackupAccessCmd(DISABLE); 这样是否可行? |
如果在BKP写数据之后关闭时钟。
则下一次不能写入。
所以不能加
RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
但是我认为既然是保护BKP数据改写,这句应该需要。