Other Parts Discussed in Thread: CC2640
We are using the TiRTOS I2C Driver on the CC2640.
Every now and then when we call a I2C_Transfer( ... ) as a read we feel like the driver is crashing. We see the driver send the slave address and then the slave clock stretches for about 7ms... clock returns high but does not continue to clock in data from slave.
This same I2C_Transfer works 99% of the time but will randomly have the issue described above.
We set up a timer to detect the failure and attempt to reset the I2C driver by calling I2C_Close followed by I2C_Open. This does not seem to fix the problem.
We also noticed that the task calling the I2C_Transfer is in an unknown state when the error occurs.
Has anyone seen this or know if there is a solution... or at least know the proper way to reset the driver?
Thanks,
Ryan