मैं आईएआर कंपाइलर का उपयोग कर STM32L152RB डिस्कवरी बोर्ड पर रीयल टाइम क्लॉक लागू कर रहा हूं। मैं एचएसआई पर घड़ी विन्यास को लागू किया है और का उपयोग पीएलएल मैं इसे 4. कोड से गुणा है ->एलएसआई/एलएसई/एचएसई में एसटीएम 32 एल में आरटीसी की घड़ी कॉन्फ़िगरेशन केवल?
/* 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);
समस्या जबकि विन्यस्त करने रीयल टाइम घड़ी है मैं माध्यमिक घड़ी लंदन स्कूल आफ इकोनॉमिक्स आरटीसी घड़ी स्रोत के रूप में स्थापित करने के लिए , जो मेरे मामले में मेरी स्रोत घड़ी एचएसआई है। शेष चरणों जिनमें पीडब्ल्यूआर नियंत्रक सक्षम है, आरटीसी डोमेन एक्सेस, आरटीसी घड़ी स्रोत, आरटीसी_इनिट(), फिर सेटटाइम और गेटटाइम सक्षम करें, मुझे पता है ठीक है। यहाँ कोड मैंने कोशिश की है ->
/* 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);
}
आउटपुट मैं 0:0:0