Tool/software:
Hi expert,
I would like to create a wake-up function every 10 minutes using rtc.
i made it as below by referring to several e2e forums, but it seems that rtc callback is not called.
could you point out the error?
void AON_RTChandling_createTask(void)
{
setupRTC();
}
void setupRTC(void) {
AONRTCDisable();
AONRTCReset();
AONRTCEventClear(AON_RTC_CH0);
AONRTCCompareValueSet(AON_RTC_CH0, AONRTCCurrent64BitValueGet() + RTC_INTERVAL_TICKS);
IntPendClear(INT_AON_RTC_COMB);
AONRTCChannelEnable(AON_RTC_CH0);
AONRTCEnable();
AONRTCCombinedEventConfig(AON_RTC_CH0 | AON_RTC_CH1 | AON_RTC_CH2);
//AONEventMcuWakeUpSet(AON_EVENT_MCU_WU0, AON_EVENT_RTC_CH1);
HwiP_Params hwiParams;
HwiP_Params_init(&hwiParams);
hwiParams.priority = 1;
HwiP_create(INT_AON_RTC_COMB, rtcCallback, &hwiParams);
HwiP_enableInterrupt(INT_AON_RTC_COMB);
GPIO_setConfig(CONFIG_TEST_LED, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_HIGH);
}
void rtcCallback(uintptr_t arg) {
dispHandle = Display_open(Display_Type_ANY, NULL);
Display_printf(dispHandle, 0, 0, " rtcCallback ");
AONRTCEventClear(AON_RTC_CH0);
GPIO_toggle(CONFIG_TEST_LED);
uint32_t nextTick = AONRTCCurrentCompareValueGet() + RTC_INTERVAL_TICKS;
AONRTCCompareValueSet(AON_RTC_CH1, nextTick);
HwiP_clearInterrupt(INT_AON_RTC_COMB);
}
thanks
B.R