STM32/STM8技术论坛
直播中

高媛

7年用户 162经验值
私信 关注
[问答]

请问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);

这样是否可行?

回帖(5)

高媛

2018-10-16 09:19:51
经测试,BKP数据读取和RCC无关
举报

高媛

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

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

陈利妮

2018-10-16 09:48:46
帮顶 有用
举报

朱梁贡

2018-10-16 10:07:01
参考ST官方例程好了。
举报

高媛

2018-10-16 10:20:23
例程里没有PWR_BackupAccessCmd(DISABLE);
但是我认为既然是保护BKP数据改写,这句应该需要。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分