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.