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

lpc2148 keil interrupt handlers for i2c not working

Hello,

I'll try to keep this short and simple:

Here is my initialization code:

        VICIntSelect=0x0;

        VICVectCntl1 = 0x00000029;         //priority slot
        VICVectAddr1 = (unsigned long)I2C_ISR;  //interupt  routine
        VICIntEnable = 0x00000200;         //enable interrupt

        PINSEL0 = 0x50;
        I2C0SCLH=0x08;
        I2C0SCLL=0x08;

        I2C0CONCLR = 0x000000FF;
        I2C0CONSET = 0x00000040;
void I2C_ISR (void)__irq//I2C interrupt routine
{
        disp(22);
        I2C0CONCLR|=0x04;
}


disp displays that number on the lcd.

After START the I2C0STAT register has the value 0x08 (I displayed it's value on the lcd; also SI from I2C0CONSET is 1)

So there is an interrupt, but I2C_ISR isn't called (as nothing is displayed on the lcd)

Am I missing something? My Startup.s file is the original file created when creating a new project. I tried modifying I_Bit EQU 0x80 to I_Bit EQU 0x00, but that didn't help.