隐者-423522 发表于 2015-10-25 15:02:05

BKP与RCC关系

在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);

这样是否可行?

隐者-423522 发表于 2015-10-25 16:07:58

经测试,BKP数据读取和RCC无关

隐者-423522 发表于 2015-10-25 16:29:35

本帖最后由 隐者-423522 于 2015-10-25 16:32 编辑

如果在BKP写数据之后关闭时钟。
则下一次不能写入。
所以不能加
RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

peter001 发表于 2015-10-25 19:58:35

帮顶 有用

yanhaijian 发表于 2015-10-26 12:14:56

参考ST官方例程好了。

隐者-423522 发表于 2015-10-26 15:44:29

例程里没有PWR_BackupAccessCmd(DISABLE);
但是我认为既然是保护BKP数据改写,这句应该需要。
页: [1]
查看完整版本: BKP与RCC关系