New I2C Master mode: Can it enforce SCL pulses to free a blocked bus?
Thank you for the new I2C peripheral in STM32H7, this really looks VERY much improved compared to STM32F4.
Can the STM32H7 I2C in master mode somehow "free the bus" in case of "stupid slaves holding the SDA line down"?
It is a quite common problem of I2C slave, that if they send some data on the bus and by some error miss an SCL clock, they can "accidentially" keep the SDA line on zero indefinitely, while waiting for the "missing" SCL clock from master.
To relax such a situation, it is necessary, that the master best sends 8 SCL pulses to "Reset the bus". Is this possible in the new STM32H7 master mode? (or does it generally switch back to passive / to slave, if it recognizes that the SDA line is low?).
... in STM32F4 solving this situation was quite cumbersome ... it was necessary to release the Alternate Function of the SCL pin, then taking digital control over the SCL pin, and simulating 8 SCL pulses with approximately the I2C baud rate ... .
... If you know some other method to enforce the (STM32H7) master to send 8 SCL pulses, even if the SDA line is held in dominant state / zero value, this would be great? (or does the STM32H7 master automatically switch back to slave mode, if it recognizes a zero SDA line, as this was also the case for teh STM32F4?)
