Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

External Interrupt (ENT1) not working properly in LPC2294

Not open for further replies.


Newbie level 2
Apr 29, 2011
Reaction score
Trophy points
Activity points
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:


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

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............

Hi freinds ,
I have got the solution... Actually I am using Keil for debugging .. I was using single step debugging mode in that it show interrupt occurence but it does not jump to subroutine... So I am using RUN in which program will be running continuosly.. There it is going to subroutine..

The code works the same in single step and in the run mode, if you change the pin state to give an interrupt then you will see that in the next few steps the execution will enter the interrupt.
The other way is to use the run as you say and put a breakpoint in the first line of the interrupt so that execution stops when the execution enters the interrupt and you can proceed with step execution to check your code.


Not open for further replies.

Part and Inventory Search

Welcome to