Forums

PROBLEM OF INTERRUPT EXECUTION

Started by PATEL VIPUL February 2, 2008
Hi All,

Right now i am using LPC2101 in my project.

I have to use two external intrrupt ENT0 and ENT2.but i need ENT2 as highest priority.Asign a prority through VICVectAddr and VICVectCntl register,right?. I have assigned VICVectAddr0 and VICVectCntl0 for ENT2 and VICVectAddr1 and VICVectCntl1 for ENT0.if ENT0 comes continuesly and in between ENT2 comes, does ENT2 execute? for my perpose it should execute but it is not happen.

is there any thing other way to assign a prority to interrupt ?

My interrupt initialization is as given below.

void ITS_EINT2_Init (void)
{
PINSEL0 |= 0x40000000; //Set to EXT Interrupt
EXTMODE = 0x4; //Set ext. interrupt edge to sensitive mode
EXTPOLAR = 0x4; // Rising Edge 0- falling and 0x04 for rising edge
VICIntSelect &= ~(1< VICVectAddr0 = (unsigned int)ITS_EINT2_isr; // Install ISR in VIC addr slot 0
VICVectCntl0 = 0x20 | VIC_EINT2; // IRQ type, TIMER 0 int enabled
EXTINT = 0x4; // Clear pending interrupts
VICIntEnable |= (1< }
void ITS_EINT0_Init (void)
{
PINSEL1 |= 0x01; // Set to EXT Interrupt
EXTMODE |= 0x0;
EXTPOLAR |= 0x00; // Edge 0- falling and 0 for rising edge
VICIntSelect &= ~(1< VICVectAddr1 = (unsigned int)&ITS_EINT0_isr; // Install ISR in VIC addr slot 0
VICVectCntl1 = 0x20 | VIC_EINT0; // IRQ type, TIMER 0 int enabled
EXTINT |= 0x1; // Clear pending interrupts
VICIntEnable |= (1< }

If both interrpt come individually,then it works fine.

Thanks and Regards,

---------------------------------
Unlimited freedom, unlimited storage. Get it now

An Engineer's Guide to the LPC2100 Series