Hi all, I am using KEIL UVISION for my application. I am trying to enhance I2C module of the same. I have initialized it in Master transmitter mode. When I first time transmit START command by setting STA in I2C register at that time my program execution jumps to ISR for I2C. But after clearing SI flag it does not go back to ISR for I2C when SI flag is set again...
Can anybody suggest where I may be wrong? Thanks Harisingh Rajput
Doubtlessly using code directly written for the good processor is better than adapting the driverd of a somewhat related one. I was just trying to give help with the little experience I have on the matter. This is after all an end-user forum as you say so oftenly.
There is a large interrupt controller difference between the LPC2148 and the 1768.
Fair enough, and since the problem seems to be regarding interrupts, looking at the LPC17XX dirvers won't be very useful. But still, the I²C hardware and registers are the same on the two controller so it cannot do any harm to have a quick peek on the drivers code.
Yes, it certainly can!
There may be some subtle - or not so subtle - difference(s) that could totally send you down the wrong track!
If a user only gets one interrupt and no more, then the VIC is probably not acknowledged. The I2C device may be ready to issue more interrupts, but the VIC has locked the interrupt until acknowledged.