Hello,
Thank you for the reply.Kan
Just the other day i/ve found the anserw myself by reading through the I2C driver library.
It turns out that the lib shifts the inputed address bits by one to the left to make room for the R/W bit.
int handleMasterXferState(NSS_I2C_T *pI2C, I2C_XFER_T *xfer) {
uint32_t cclr = I2C_CON_FLAGS;
switch (getCurState(pI2C)) {
case 0x08: /* Start condition on bus */
case 0x10: /* Repeated start condition */
pI2C->DAT = (uint32_t)((xfer->slaveAddr << 1) | (xfer->txSz == 0));
break;
I've been addressing the device with 8 bits ( R/W bit included).
I've corrected that and now it works like a charm.
Damian