stm32f103,晶振32.768HZ旁边的两个10PF电容没焊,导致系统在开机初始化RTC时失败,就一直卡在RTC初始化程序,导致进不了系统, RTC程序如何调整,才能使RTC初始化失败也能顺利进入系统?? void RTC_Configuration(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR|RCC_APB1Periph_BKP,ENABLE); PWR_BackupAccessCmd(ENABLE); RCC_LSEConfig(RCC_LSE_ON); while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET){;} RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); RCC_RTCCLKCmd(ENABLE); RTC_WaitForSynchro(); RTC_WaitForLastTask(); RTC_SetPrescaler(32767); RTC_WaitForLastTask(); RTC_ITConfig(RTC_IT_SEC, ENABLE); RTC_WaitForLastTask(); } |
评分
查看全部评分
知道程序在这条while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET){;} 里面死循环,
程序该如何调整,RTC初始化失败退出死循环??
评分
查看全部评分
那只能修改程序了,while里面加个条件判断,多少次后退出循环。并且加个标志变量,用来指示RTC时钟是否正常。在主程序中判断标志变量,是否允许RTC相关操作。
评分
查看全部评分