Page 1 of 1

Why does I2C_SCL have a clock stretching when a microcontroller (MCU) is used as I2C slave while receiving data continuo

Posted: 31 May 2021, 15:44
by a_ziliu
According to the definition of I2C BUS, when the slave is in a busy state, I2C_SCL can be pulled low, forcing transmission to be stretched.
When I2C interrupt occurs, I2C_SCL will be pulled low to stop I2C communication for a while. I2C_SCL will not be pulled high until the program triggers I2C to continue to accept the next data, resuming the transmission.
Therefore, user can get the I2C interrupt operating time through the I2C_SCL stretched time.