Hi, all,
I use function INT_SYS_DisableIRQ(xx) to disable all interrupt (IRQ num >=0 && IRQ num <=122) except PORTA_IRQn, PORTB_IRQn, PORTC_IRQn, PORTD_IRQn, PORTE_IRQn before executed function POWER_SYS_SetMode(VLPS, POWER_MANAGER_POLICY_AGREEMENT), and use function PORT_HAL_GetPortIntFlag(xx) to capture the port interrupt flag in ISR of PORTA~PORET.
But, nothing flag (print to uart) can be captured sometimes when exiting VLPS mode.
So, how to capture all wake-up source when exiting the VLPS mode?
Regards,
Liu
Hi Liu,
If I understand, the MCU can wake up without any problem but you can't capture the source of the interrupt.
Something similar was discussed here:
https://community.nxp.com/thread/493555
Instead of PORT_HAL_GetPortIntFlag(xx), you can use this:
Regards,
Daniel
Hi,
Daniel,
Thanks for your response.
What's the different between PORT_HAL_GetPortIntFlag and PINS_DRV_GetPortIntFlag, because there is no function PINS_DRV_GetPortIntFlag in my pins_driver.c file.
And here is the implementation of function PORT_HAL_GetPortIntFlag:
static inline uint32_t PORT_HAL_GetPortIntFlag(const PORT_Type* const base)
{
uint32_t regValue = base->ISFR;
return regValue;
}
Regards,
Liu
Hi Liu,
Sorry, both the functions do actually the same thing.
You probably use an old version of the SDK.
I took the screenshot from the SDK RTM 3.0.0 documentation which can be found in the installation folder of the SDK.
...\NXP\S32DS_ARM_v2018.R1\S32DS\S32SDK_S32K1xx_RTM_3.0.0\doc\Start_here.html
If you start a new project, I would recommend the current SDK version.
Regards,
Daniel