/* Select HSE as system clock source */
CLK_SYSCLKSourceSwitchCmd(ENABLE);
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);
/* system clock prescaler: 1*/
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI)
{}
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);
CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1);
while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == RESET);
RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
enableInterrupts();
while(1)
{
RTC_SetWakeUpCounter(1);
RTC_WakeUpCmd(ENABLE);
halt();
RTC_WakeUpCmd(DISABLE);
GPIO_ToggleBits(LED_GPIO_PORT, LED_GPIO_PINS);
}
RTC配置会卡在RTC_WakeUpCmd(ENABLE)函数内的
/* Wait until WUTWF flag is set */
while (((RTC->ISR1 & RTC_ISR1_WUTWF) == RESET) && ( wutwfcount != WUTWF_TIMEOUT))
{
wutwfcount++;
}
请问给为前辈,是我哪里没有配置好吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
{
RTC_WakeUpCmd(ENABLE);
halt();
RTC_WakeUpCmd(DISABLE);
GPIO_ToggleBits(LED_GPIO_PORT, LED_GPIO_PINS);
}
这样就好了,知其然而不知其所以然。
一周热门 更多>