bool power_enabled = false;
bool key_pressed = false;
int main(void)
{
SystemCoreClockUpdate();
Board_Init();
DEBUGSTR("In main()\r\n");
/* Initialize the Event Router */
Chip_EVRT_Init();
PMC_Evrt_Configure(EVRT_SRC_WAKEUP0);
if (key_pressed)
{
DEBUGSTR("Power Enabled\r\n");
power_enabled = true;
}
else
{
DEBUGSTR("Enter Sleep Mode in mian()\r\n");
/* Call Pre SleepPowerDown function */
PMC_Pre_SleepPowerDown();
/* Goto Deep Sleep mode */
Chip_PMC_Set_PwrState(PMC_DeepPowerDown);
/* Wake up from Deep power down state is as good as RESET */
while (1) {}
}
for(;;)
{
Board_LED_Toggle(0);
DelayUs(200000);
}
}
void EVRT_IRQHandler(void)
{
if (Chip_EVRT_IsSourceInterrupting(EVRT_SRC_WAKEUP0))
{
Chip_EVRT_ClrPendIntSrc(EVRT_SRC_WAKEUP0);
if (power_enabled)
{
power_enabled = false;
/* Call Pre SleepPowerDown function */
PMC_Pre_SleepPowerDown();
/* Goto Deep Sleep mode */
Chip_PMC_Set_PwrState(PMC_DeepPowerDown);
/* Wake up from Deep power down state is as good as RESET */
while (1) {}
}
else
{
key_pressed = true;
}
}
}
|
I'm also experiencing this issue. Can anyone from NXP offer some insight?