I can't exit PM3 via an external interrupt (triggered by pushing a button on PO_1). The external interrupt works fine if the processor is in PM0. Problem still occurs in PM2 and PM1. Here's the code I'm using for reference:
// code to trigger external interrupt when S1 is pressed.
P0DIR = 0;
P0IFG = 0x00; // clear interrupt flag
PICTL |= 0x08; // enable interrupt on P0_0 to P0_3
P0IFG = 0x00; // clear interrupt flag
IEN1 |= 0x20; // enable PO interrupt
EA = 1; // global interrupt enable
SLEEP |= 0x03; // Setup processor to enter PM3
PCON |= 0x01; // Enter PM3
Any help would be appreciated!