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

Simulation of External Interrupt whith LPC2378

Hello,

I'm triyng to simulate an external interrupt with the LPC378 but it doesn't work.

I already saw other threads about this problem. It seem's to work with MCB2100 with a .ini file but it doesn't work with the MCB2300 (LPC2378).
What can I do ?

I try it with µV3 and µV4 !
Here is my source code :

#include "LPC23xx.h"

void isr_EINT0 (void) __irq
{
    FIO2PIN0 = ~FIO4PIN0;        /* alternate the LED display */
        EXTINT = 0x01;          /* clear interrupt */
        VICVectAddr = 0;        /* Acknowledge Interrupt */
}

 void init_EINT0(void)
{
  PINSEL4 = 0x00100000; /* set P2.10 as EINT0 and
                                                        P2.0~7 GPIO output */
  FIO2DIR = 0x000000FF; /* port 2, bit 0~7 only */
  FIO2CLR = 0x000000FF; /* turn off LEDs */

  EXTMODE = 0x01        ;       /* INT0 edge trigger */
  EXTPOLAR = 0;                 /* INT0 is falling edge by default */

  VICVectAddr14 = (unsigned)isr_EINT0;  /* set interrupt vector */
  VICIntEnable = (1<<14);                         /* Enable Interrupt */

}
int main()
{
        init_EINT0();   /* Call function to initialize EINT0 */

        while(1);
}

And my simulation .ini file :

//
// Generates a number of pulses on GPIO 2.10
//
signal void GPIO_2_10_Square (unsigned int pulses)  {
  float frequency;           // pulse frequency in Hz

  frequency = 10;          // 100 Hz

  printf ("%d Square Pulses on GPIO 2.10\n", pulses);

  while (pulses)
  {
    PORT2 |=  (1 << 10);     // set   pin 2.10
    swatch (0.5 / frequency);
    PORT2 &= ~(1 << 10);     // reset pin 2.10
    swatch (0.5 / frequency);
        pulses--;
  }
}

GPIO_2_10_Square (100);      // 100 Pulses at debugger startup

define button "EINT0 1  Pulse",  "GPIO_2_10_Square (1)"
define button "EINT0 100Pulses", "GPIO_2_10_Square (100)"

Best Regards,
Yann

0