This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C123BH6ZRB: Not Receiving ACK Occasionally

Part Number: TM4C123BH6ZRB

Hi team,

We are working with the TM4C123BH6ZRB and we are reading PMBus registers from our slave device. Occasionally, when reading a register, for whatever reason the slave does not send an ACK to the master (TM4C device). When this occurs, the TM4C devices just reads FF FF as shown in the first capture below.

We would like the TM4C device to wait for a certain period of time before moving on to read the next register. The second capture below shows a normal reading.

Is there a command that we can use to allow for the master to wait for the ACK before it tries to read the data from the slave?

Regards,

Akash Patel

  • There is no way for the firmware in the master to make it wait for the acknowledge from the slave. Instead the function that reads the slave (I2CMasterDataGet) should be followed by a check of the error status (I2CMasterErr) and the read should be retried in the case of an error.