Hi David, so i implemented the i2c read function but it is not working. I configure the function to receive 16bytes value. Would be 32Bits - 32Bits - 32Bits - 32Bits. The function get stuck in here: while(ui8Status == eUSCI_BUSY) { if(MAP_I2C_getInterruptStatus(EUSCI_B3_BASE, EUSCI_B_I2C_TRANSMIT_INTERRUPT0)) { ui8Status = eUSCI_IDLE; } } Measuring with an oscilloscope i saw that the slave is holding the clock down and that only 12bits read was done. I think that after the first 8bits read, the master is not ACK it and after trying to read the next 8bit the slave holds the scl down. Does the Master ACK the data automatically?
↧