系统复位后即使不设置RTC也需要 "使能对后备寄存器和RTC的访问",即执行以下操作:
● 设置寄存器RCC_APB1ENR的PWREN和BKPEN位,使能电源和后备接口时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
● 设置寄存器PWR_CR的DBP位,使能对后备寄存器和RTC的访问
PWR_BackupAccessCmd(ENABLE);
那么是否还需要重新使能RTC Clock呢?也就是调用RCC_RTCCLKCmd(ENABLE);
按我自己的理解,应该是需要重新调用RCC_RTCCLKCmd(ENABLE);函数的,因为该函数设置的寄存器不在后备域内,所以系统复位后是默认值,应该重新设置。
但是,该库函数的说明是
“This function must be used only after the RTC clock was selected using the RCC_RTCCLKConfig function.”
我使用的是3.5的库。
请大家指点下。 |