I2C / クロックストレッチ

p.596

非公式訳
I2Cプロトコルの機能の1つにクロックストレッチ(clock stretching)があります。一種のフロー制御です。アドレス指定されたスレーブは、データを処理する余裕のないときには、何らかのデータビットを受信(または送信)したあと、クロックライン(SCL)をLoに保ってクロックを引き伸ばす働きをします。デバイス同士はワイヤーANDで接続されているため、この状態だとマスターはクロックラインをHiにできません。そのため、スレーブがSCLラインを開放して次のビットを転送する準備の整ったことを示すまでマスターは待ちます。