Question
Recovering from a failed I2C transfer
I am using HAL_I2C_Master_Transmit(). That generally works well. However, I sometimes run into an issue when the slave device is not responding. HAL_I2C_MasterTransmit() obviously returns an error after running into timeout, as it should. But then I am unable to recover from this condition. In my logic analyzer, I see that SCL remains low, and all future transfers fail. What can I do to recover? Do I have to disable and re-enable the peripheral every time? The device is an STM32H7A3.
