新手上路
- 积分
- 21
- 金钱
- 21
- 注册时间
- 2018-7-31
- 在线时间
- 1 小时
|

楼主 |
发表于 2018-7-31 21:20:28
|
显示全部楼层
u8 RTC_Init(void)
{
u8 temp=0;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
PWR_BackupAccessCmd(ENABLE); //change to the function list below???
if (BKP_ReadBackupRegister(BKP_DR1) != 0x0505)
{
//RCC_BackupAccessCmd(ENABLE);
BKP_DeInit();
RCC_LSEConfig(RCC_LSE_ON);
while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
{
temp++;
Delay_mS(10);
if(temp>=250)
{
return 1;
}
}
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
RCC_RTCCLKCmd(ENABLE);
// RTC_WaitForLastTask();
RTC_WaitForSynchro();
RTC_WaitForLastTask();
RTC_ITConfig(RTC_IT_SEC, ENABLE);
RTC_EnterConfigMode();
RTC_WaitForLastTask();
RTC_SetPrescaler(32767);
RTC_WaitForLastTask();
RTC_Set(2017,12,30,07,58,00);
RTC_ExitConfigMode();
BKP_WriteBackupRegister(BKP_DR1, 0X0505);
}
else//??????
{
RTC_WaitForSynchro();
RTC_ITConfig(RTC_IT_SEC, ENABLE);
RTC_WaitForLastTask();
} |
|