i2c_hw_fsm_reset() function
if the power and SDA/SCL wires are in proper condition, everything works find with reading the slave. If we remove the power supply for the slave during I2C is reading, or directly connect SDA or SCL to ground, this would cause the I2C FSM get stuck in wrong state, all we can do is to reset the I2C hardware in this case.
i2c_hw_fsm_reset() is called by 1 function and calls 10 functions:
![]()
i2c_hw_fsm_reset()
i2c_hw_fsm_reset() reads 3 variables:
![]()
i2c_hw_fsm_reset()