The I²C specifications (NXP, I²C-bus.org) allow the slave to set the SCL clock line low to make the master wait. This is called clock streching.
An I2C slave is allowed to hold down the clock if it needs to reduce the bus speed. The master on the other hand is required to read back the clock signal after releasing it to high state and wait until the line has actually gone high.
How to implement clock stretching on the Stellaris LM4F120 / Tiva C TM4C123?
For example, the twi.h library for the MSP430 includes two functions that are used for this purpose:
From http://github.com/energia/Energia/issues/336
The I²C specifications (NXP, I²C-bus.org) allow the slave to set the SCL clock line low to make the master wait. This is called clock streching.
How to implement clock stretching on the Stellaris LM4F120 / Tiva C TM4C123?
For example, the
twi.h
library for the MSP430 includes two functions that are used for this purpose:Thank you!