4.3 Stuck Data Line
When Serial Data (SDA) gets stuck, the cause is usually desynchronization between the host and the controller. Imagine a scenario where the MCU reads data from an EEPROM and resets it in the middle of the read operation. The EEPROM expects the next clock pulse from the MCU to continue sending data, but instead, the MCU is now in a Waiting state since the bus is not free. Unlike a stuck SCL line, this scenario can be resolved without power cycling the faulty device. The host may manually toggle SCL until the desynchronized device releases SDA to resolve the fault.