radhe_nerist
Newbie level 2

Dear Freinds,
I have designed a board using LPC2294 microcontroller in that I have written a program to test the external interrupt(ENT1) functionality. while during debugging, I am seeing that even after giving external interrupt in interrupt PIN P0.14(ENT1), my program is not jumping to ISR. It remains in main loop only. I am seeing that in debbugging mode the interrupt register shows that ENT1 flag is set means interrupt has occured but it is not jumping to ISR.
My code written is as follows:
#include<LPC22XX.h>
#include<stdio.h>
void external(void) __irq; // Interrupt subroutine declaration
unsigned int x = 0x00400000;
int main(void)
{
IOSET1 = 0xffffffff;
PINSEL0 = PINSEL0 | 0x20000000; ///////////ENT1 = Pin P0.14////////
EXTMODE = 0x00000000;
EXTPOLAR = 0x00000000;
VICVectAddr0 = (unsigned long) external ;
VICVectCntl0 = 0x0000002f ;
VICIntEnable = VICIntEnable | 0x00008000;
IO0DIR = x; // GPIO toggling
IO0CLR = x; // GPIO toggling
while(1)
{
IOSET1 = 0xffffffff; // GPIO toggling
IOCLR1 = 0xffffffff; // GPIO toggling
}
}
void external(void) __irq // External Interrupt subroutine
{
IO0SET = x; // GPIO toggling
IO0CLR = x; // GPIO toggling
EXTINT = 0x00000002;
VICVectAddr = 0x00000000;
}
can anybody help me????? Please............
I have designed a board using LPC2294 microcontroller in that I have written a program to test the external interrupt(ENT1) functionality. while during debugging, I am seeing that even after giving external interrupt in interrupt PIN P0.14(ENT1), my program is not jumping to ISR. It remains in main loop only. I am seeing that in debbugging mode the interrupt register shows that ENT1 flag is set means interrupt has occured but it is not jumping to ISR.
My code written is as follows:
#include<LPC22XX.h>
#include<stdio.h>
void external(void) __irq; // Interrupt subroutine declaration
unsigned int x = 0x00400000;
int main(void)
{
IOSET1 = 0xffffffff;
PINSEL0 = PINSEL0 | 0x20000000; ///////////ENT1 = Pin P0.14////////
EXTMODE = 0x00000000;
EXTPOLAR = 0x00000000;
VICVectAddr0 = (unsigned long) external ;
VICVectCntl0 = 0x0000002f ;
VICIntEnable = VICIntEnable | 0x00008000;
IO0DIR = x; // GPIO toggling
IO0CLR = x; // GPIO toggling
while(1)
{
IOSET1 = 0xffffffff; // GPIO toggling
IOCLR1 = 0xffffffff; // GPIO toggling
}
}
void external(void) __irq // External Interrupt subroutine
{
IO0SET = x; // GPIO toggling
IO0CLR = x; // GPIO toggling
EXTINT = 0x00000002;
VICVectAddr = 0x00000000;
}
can anybody help me????? Please............