Witam,
zaczynam swoją przygodę z STM32, na początku chciałem się pobawić bibliotekami oferowanymi przez producenta i od razu nieprzyjemna niespodzianka. Mam taką funkcję:
I obsługę przerwania:
Ale niestety cały program zatrzymuje mi się na ostatniej funkcji RTC_WaitForLastTask(). Będę wdzięczny za wszelkie sugestie takiego stanu rzeczy.
z góry dzięki
pozdrawiam
herszt
zaczynam swoją przygodę z STM32, na początku chciałem się pobawić bibliotekami oferowanymi przez producenta i od razu nieprzyjemna niespodzianka. Mam taką funkcję:
void RCC_Conf(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08);
}
RCC_RTCCLKConfig(RCC_RTCCLKSource_HSE_Div128);
RCC_RTCCLKCmd(ENABLE);
RTC_WaitForLastTask();
RTC_ITConfig(RTC_IT_SEC, ENABLE);
RTC_WaitForLastTask();
RTC_SetPrescaler(32767);
RTC_WaitForLastTask();
}
I obsługę przerwania:
void RTC_IRQHandler(void)
{
GPIO_ResetBits(GPIOB, GPIO_Pin_8);
RTC_ClearITPendingBit(RTC_IT_SEC);
}
Ale niestety cały program zatrzymuje mi się na ostatniej funkcji RTC_WaitForLastTask(). Będę wdzięczny za wszelkie sugestie takiego stanu rzeczy.
z góry dzięki
pozdrawiam
herszt