We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello Community,
I am trying to execute the power down mode in lpc2148 (ARM7) controller. The power down mode instruction executes properly but after that it fails to wake due to EINT0 (external interrupt 0). This is the code I have written. I would be very glad if someone could tell me the problem.
#include <lpc214x.h>
volatile int f;
void delayMS(unsigned int msec){ unsigned int i,j; for(i=0;i<msec;i++) for(j=0;j<7500;j++);}
__irq void EXT0_ISR(){ f = 0; PLL0CON = 0x01; PLL0CFG = 0x24; PLL0FEED = 0xAA; PLL0FEED = 0x55; while((PLL0STAT & 0x00000400)==0); PLL0CON = 0x03; PLL0FEED = 0xAA; PLL0FEED = 0x55; VPBDIV = 0x00000000; EXTINT = 0x01; VICVectAddr = 0x00000000;}
int main(){ int i = 0; f = 0; PINSEL0 = 0x0000000C; IO0DIR = 1<<11; IO0CLR = 1<<11; EXTMODE = 0x01; EXTPOLAR = 0x00; EXTINT = 0x01; INTWAKE = 0x0001; VICVectAddr0 = (unsigned)EXT0_ISR; VICVectCntl0 = (1<<5)|14; VICIntSelect = 0x00000000; VICIntEnable = 1<<14; VPBDIV = 0x00000000; while(1) { while(f==0) { for(i=0;i<4;i++) { IO0PIN ^= (1<<11); delayMS(500); } f = 1; } PCON = 0x02; }
}
and it is still a question for NXP - nothing to do with ARM!