gpt4 book ai didi

仅LSI/LSE/HSE中Stm32L中RTC的时钟配置?

转载 作者:太空狗 更新时间:2023-10-29 17:01:46 25 4
gpt4 key购买 nike

我正在使用 IAR 编译器在 STM32L152RB 探索板上实现实时时钟。我已经在 HSI 上实现了时钟配置并使用 PLL 我将它乘以 4。代码 -->

/* 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);

问题是在配置实时时钟时我必须将辅助时钟 LSE 设置为 RTC 时钟源,在我的例子中我的源时钟是 HSI。据我所知,其余步骤包括启用 PWR Controller 、启用 rtc 域访问、rtc 时钟源、rtc_init(),然后是 settime 和 gettime。这是我试过的代码 -->

/* 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

最佳答案

解决了这个问题,

/* Allow access to the RTC */
PWR_RTCAccessCmd(ENABLE);

/* Reset RTC Backup Domain */
RCC_RTCResetCmd(ENABLE);
RCC_RTCResetCmd(DISABLE);

/* LSE Enable */
RCC_LSEConfig(RCC_LSE_ON);

/* Wait until LSE is ready */
while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);

/* RTC Clock Source Selection */
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);

/* Enable the RTC */
RCC_RTCCLKCmd(ENABLE);

LSE 只能与外部晶体或振荡器一起使用。对于内部晶体,可以使用 LSI。

关于仅LSI/LSE/HSE中Stm32L中RTC的时钟配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com