Hello
I am using a TM4C129ENCPDT processor and have just found out that a hardware fault (The I2C1 Clock was shorted to ground) caused my task to freeze waiting for I2C_transfer to complete. I would have thought a hardware issue would simply result in a failed transaction, not a complete freeze of the task.
I have a couple of questions arising from this lockup.
1 - Is it intentional that the I2C freezes if the clock line is low?
2 - If so, is there any function in I2C API for me to determine if it is low / locked first so I can avoid doing the transfer unless the line is in normal state?
Basically looking for a work around to ensure I can detect the fault rather than just having my code freeze.