I2Cで通信を続けていると、エラーが発生してACK/NAKがおかしくなったり、STOP Conditionが送れなかったりする事象が時々発生する。特に、STOP Conditionが送れなくなると通信を終了することができず、詰んでしまう。そこで、どうしてこのような状態が発生するのか、どうやったら復帰できるのかを解説したい。 上の図は、一般的な送信データ例を示したものである。Master側はSCLに同期してSDAを操作してデータを送信する。ここで重要なことは、SCLがHighの間にSDAをHighからLowに引き下げるのがSTART Condition、SCLがHighの間にSDAをLowからHighに引き上げるのがSTOP Condition、データの送受信はSCLがLowの間にSDAを変更して行う、ということである。SCLがHighの間にSDAを動かすとStartとStopになってしまう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く