Pavel,
As the MMA8451Q does not have a reset pin, the only way to reset (clear) the I2C bus is to (temporarily) re-assign SCL as a general-purpose I/O pin and then issue clock pulses until the MMA8451Q releases SDA. This is also described in the UM10204 on page 20.
Regards,
Tomas
Pavel,
You can set the RST bit in the CTRL_REG2 register (0x2B) to initiate a software reset. It resets all functional block registers and loads the respective internal registers with their default values. The reset mechanism can be enabled in both standby and active modes.
I hope this helps.
Regards,
Tomas
Thank You, Thomas!
What if after an unexpected reset MCU hung I2C bus?
Some i2c devices for such cases there is a certain sequence of actions. Tell me, please
Pavel,
As the MMA8451Q does not have a reset pin, the only way to reset (clear) the I2C bus is to (temporarily) re-assign SCL as a general-purpose I/O pin and then issue clock pulses until the MMA8451Q releases SDA. This is also described in the UM10204 on page 20.
Regards,
Tomas