Hi,
I was wondering under what circumstances does the hardware (I2C module) write a 1 to the STP bit of the I2CMDR register?
I have the following scenario: While transferring data (reading with stop) on the I2C bus, i get a timeout and i want to reset the I2C module and clear it to start another operation. The only problem is that even if I explicitly write a 0 in the I2caRegs.I2CMDR.bit.STP bit, it is set to 1 by the hardware after some time. What causes this behaviour, and how can i clear the STP bit to prepare for the next operation? What happens if my next transfer needs to be of a NO STOP type (STP must be configured to 0)?
--Adrian