Hi
I am trying to wake up from sleep after 4 seconds using RTC timer
This code is working and wake from sleep after 4 second but after same time it doesn't wake up from the sleep
changing the GPIO is waking the process and it continue to work
THE CODE
.
void HibernateHandler(void)
{
uint32_t ui32Status;
//
// Get the interrupt status and clear any pending interrupts.
//
ui32Status = HibernateIntStatus(1);
HibernateIntClear(ui32Status);
//
// Process the RTC match 0 interrupt.
//
if(ui32Status & HIBERNATE_INT_RTC_MATCH_0)
{
RTCTimeout=true;
//
// RTC match 0 interrupt actions go here.
//
}
}
.
.
ROM_SysCtlDeepSleepClockSet(SYSCTL_DSLP_DIV_1 | SYSCTL_DSLP_OSC_INT30|SYSCTL_DSLP_PIOSC_PD); // Set deep sleep clock to be main OSC divided by 1 -> 16Mhz crystal
// ROM_SysCtlDeepSleepPowerSet(SYSCTL_FLASH_LOW_POWER|SYSCTL_LDO_SLEEP|SYSCTL_TEMP_LOW_POWER|SYSCTL_SRAM_LOW_POWER) ; //
ROM_SysCtlPeripheralDeepSleepEnable(SYSCTL_PERIPH_GPIOC);//emergency switch port intrerrupt enable during sleep
// peripherals in sleep mode
ROM_SysCtlPeripheralClockGating(true);
RTCTimeout=false;
HibernateRTCMatchSet(0, HibernateRTCGet() + 4);
//
// Set up interrupts on the Hibernation module to enable the RTC match
// 0 interrupt. Clear all pending interrupts and register the
// interrupt handler.
//
HibernateIntRegister(HibernateHandler);
HibernateIntClear(HIBERNATE_INT_PIN_WAKE | HIBERNATE_INT_LOW_BAT |
HIBERNATE_INT_RTC_MATCH_0);
HibernateIntEnable(HIBERNATE_INT_RTC_MATCH_0);
HibernateIntClear(HIBERNATE_INT_PIN_WAKE | HIBERNATE_INT_LOW_BAT |
HIBERNATE_INT_RTC_MATCH_0);
if(!RTCTimeout)
//enter deepsleep mode
ROM_SysCtlDeepSleep(); //enter deep sleep mode
...
..