STM32H7 RTC_CLOCK_SOURCE_LSE 问题
STM32H7 做一个显示日历的程序,用官网的代码,设置为LSI时钟正常,但是关电后(有后备电池)时钟不走。改LSE后死机,相关代码如下:
@file RTC/RTC_TimeStamp/Inc/main.h
/* Defines related to Clock configuration */
/* Uncomment to enable the adaquate Clock Source */
//#define RTC_CLOCK_SOURCE_LSI
#define RTC_CLOCK_SOURCE_LSE
跟踪发现卡在这个地方:
@file stm32h7xx_hal_rcc.c
/* Set the new LSE configuration -----------------------------------------*/
__HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState);
/* Check the LSE State */
if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF)
{
/* Get Start Tick*/
tickstart = HAL_GetTick();
/* Wait till LSE is ready */
while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == 0U)
{
if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
{
return HAL_TIMEOUT;
}
}
}
请大家指点