This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Interrupts are holding up other operations

Hi,

I have an LPC2378 connected to a MAX3420E USB chip via SPI. I am using an external interrupt to alert the uC whenever it needs service, however, this interrupt has taken over my chip operation, none of the code in my main while loop can run!

What can be doing this? I've tried changing the IRQ priority with no avail.

snippet from main:

while (1)
{
printf (".");
}
// EINT3 Interrupt handler--MAX3420E INT pin
void INT3420 (void) __irq
{
service_irqs();         // Do the USB thing
EXTINT      = 0x03;    // Clear EINT3 interrupt flag
VICVectAddr = 0xFF;     // Dummy write to indicate end of interrupt service
}


DWORD EINTInit( void )
{
  PINSEL4 |= 0x4000000;
  IO2_INT_EN_F = 0xFF;
  EXTMODE = EINT3_EDGE;
  EXTPOLAR = 0x03;

  if ( install_irq(EINT3_INT,(void *)INT3420,LOWEST_PRIORITY )==FALSE)
  {
        return (FALSE);
  }
  return( TRUE );
}

0