void rtc_init(){ Chip_RTC_Init(LPC_RTC); Chip_RTC_CntIncrIntConfig(LPC_RTC, RTC_AMR_CIIR_IMSEC, ENABLE); Chip_RTC_ClearIntPending(LPC_RTC, RTC_INT_COUNTER_INCREASE | RTC_INT_ALARM); NVIC_EnableIRQ((IRQn_Type) RTC_IRQn); Chip_RTC_Enable(LPC_RTC, ENABLE); NVIC_SetPriority((IRQn_Type)RTC_IRQn,configKERNEL_INTERRUPT_PRIORITY); } |
void RTC_IRQHandler(void) { uint32_t sec; if (Chip_RTC_GetIntPending(LPC_RTC, RTC_INT_COUNTER_INCREASE)) { Chip_RTC_ClearIntPending(LPC_RTC, RTC_INT_COUNTER_INCREASE); } xSemaphoreGiveFromISR(sem_temp,NULL); // THIS CAUSES THE ERROR. } } |