Hello,
I am developing the driver of I2C master on a Tiva™ C Series TM4C1294 Connected
LaunchPad Evaluation Kit with the driver library.
I am using I2C interrupts to optimize the code.
The evaluation board is connected to a pressure sensor, with pull-up resistors.
Every 100ms, the master starts receive four bytes of data from the slave.
After 30 or 40 seconds, I see the status 0x80 or 0x81 in the status handler, indicating an arbitration lost.
Where is the origin of this problem ? Slave or master ? And what is the cause ?
How to resume from such situation ? I read some "pulse clock" method or reset the I2C peripheral. When resetting the I2C peripheral, there is no change. Bus is always busy.
Have you some sample of code explaining the right way to restart the I2C bus communication ?
Thank you for your help.
Best regards.
FWX.