Hi All,
I have checked the forum and there does not seem to be an article that deals with this problem:
I have a development using the ZStack Energy 1.1.0's IPD base.
I have added 8 buttons to it on port C, to do something. I use an ISR and the low power modes quite successfully. We get to LPM 2 and possibly 3, and it wakes up quickly with no problems when the power interrupt type is set to GPIO_POW_FALLING_EDGE, with the function GPIOPowIntTypeSet() .
One of my requirements is to have it wake up from the rising edge. If I use GPIO_POW_RISING_EDGE, there is a delay of up to 3 seconds, between the pin signal rising up, and the ISR being entered with assigned task being performed. Is there a way to fix this, and have it enter the ISR instantly?
Some detail:
Within the ISR, I test the state of the pin that triggered the ISR, and change between GPIO_POW_RISING_EDGE and GPIO_POW_FALLING_EDGE as follows:
if ( newSwitchStates & 0x01 ) { //If HIGH, then next trigger will need FALLING edge; if LOW, then RISING edge..
GPIOPowIntTypeSet(GPIO_C_BASE, GPIO_PIN_0, GPIO_POW_FALLING_EDGE ); }
else {
GPIOPowIntTypeSet(GPIO_C_BASE, GPIO_PIN_0, GPIO_POW_RISING_EDGE ); } }
Any tips would be greatly appreciated.
Thanks & Regards, DanO.