I2C: Differences LPC210x – AT91SAM7S (ISR)

Hello, I´m currently trying to implement the WIZnet I2C TCP/IP Demo into my project with an AT91SAM7S (Rowley GCC). The WIZNet Demo uses a Philips LPC210x. In i2c.c it simply starts the I2C communication with setting the start condition: I2C_I2CONCLR = i2cSI_BIT;    I2C_I2CONSET = i2cSTA_BIT; then waits for an IRQ and goes on in the ISR in i2cISR.c. Therefore its necessary that on every I2C state change occurs an IRQ. The LPC does it(?). When my Atmel datasheet informs my correctly the AT91SAM7S isn´t able to do this. So I have to implement nearly the whole Write/Read  procedure in i2c.c ??? (I think I can only get an IRQ after transmit has finished ?) Has anybody else done this with an Atmel? Thomas

I2C: Differences LPC210x – AT91SAM7S (ISR)

I think the interrupts only fire after each byte.  The isr then just copies the next byte. Also  on the Atmel I think it can be simpler through the use of the dma to pass data straight to the i2c peripheral without software intervention at all. Do the Rowley GCC tools have any i2c examples for atmel?

I2C: Differences LPC210x – AT91SAM7S (ISR)

Hello, thanks for the answer! At AT91.com I read the Atmels TWI does not have a PDC, so I have to do it manually or with IRQs. I found no example using TWI with the AIC, so if anybody has done this before… Thomas