Configuration de l'horloge de CCF en Stm32L en LSI/LSE/HSE seulement?

Je suis la mise en œuvre de l'Horloge Temps Réel sur STM32L152RB la Découverte du conseil de l'aide ET du compilateur. J'ai mis en œuvre la configuration de l'Horloge sur les services IHV et de l'aide de PLL, j'ai multiplié par 4. Code -->

/* Enable HSI Clock */
RCC_HSICmd(ENABLE);

/*!< Wait till HSI is ready */
while (RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);

RCC_PLLConfig(RCC_PLLSource_HSI,RCC_PLLMul_4,RCC_PLLDiv_2);
RCC_PLLCmd(ENABLE); 
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

/* Set HSI as sys clock*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

Le problème est lors de la configuration de l'horloge Temps Réel-je régler l'horloge secondaire LSE comme le CCF de la source d'Horloge, ce qui dans mon cas, ma source d'horloge est HSI. Reste des étapes qui comprend permettre PWR contrôleur de, permettre aux ccf de domaine d'accès, horloge rtc source, rtc_init(), puis settime et gettime, sont bien comme par je sais. Voici le code que j'ai essayé -->

/* Enable RTC clocks and rtc related functions */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_RTCAccessCmd(ENABLE);

RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);  //This part I think is wrong
RCC_RTCCLKCmd(ENABLE);
RTC_InitTypeStructure.RTC_HourFormat=RTC_HourFormat_12;
RTC_InitTypeStructure.RTC_AsynchPrediv=0x7F;
RTC_InitTypeStructure.RTC_SynchPrediv=0xFF;
RTC_Init(&RTC_InitTypeStructure);
/* End RTC Clock */
RTC_TimeTypeTime.RTC_Hours=18;
RTC_TimeTypeTime.RTC_Minutes=11;
RTC_TimeTypeTime.RTC_Seconds=4;
RTC_TimeTypeTime.RTC_H12=RTC_H12_PM;
RTC_SetTime(RTC_Format_BIN, &RTC_TimeTypeTime);
while(1){
    f_SleepMs(10);
    RTC_GetTime(RTC_Format_BIN, &RTC_TimeTypeTime);
    RELEASE_MSG("\r%d:%d:%d",RTC_TimeTypeTime.RTC_Hours,RTC_TimeTypeTime.RTC_Minutes,RTC_TimeTypeTime.RTC_Seconds);
}   

De sortie que je vous est 0:0:0

OriginalL'auteur Ishmeet | 2013-09-02