Hello,
I'm facing a problem using the MSP430F5438A I2C peripheral in transmiter slave mode. Receiver slave mode works perfectly.
The master issues a Read request (slave address = 0x10) and tries to read 3 bytes. At the slave (MSP430) the byte 0x0C is always reloaded whenever the interrupt with origin in UCTXIFG is activated.
I'm using 7bit addressing, no multi-master, 12k pull ups.
The results:
Address byte -> OK
First byte -> OK
Second byte -> The MSP is one clock desynchronized. Due to that, it fails to read the ACK send by the master which is issued one clock later.
Third byte -> Aborted in the MSP, the master reads it as 0xFF
Please see the picture. In this example, the clock is extremely slow to avoid any high speed issues.
Am I doing something wrong?
Thank you