SDAの割り込み遅れを早くすることは出来ない。そもそもは、ACK/NACKビットのSCLの立ち上がり中にリセットしてSDA割り込みを待ち受けること自体が違反だ。ここはSCLが下がって次のステージに入ってから、スタートストップコンディションを待ち受ける体制にするべきなのだ。ACK/NACKビットのステートマシンのところに、SCLが次のブロックに行くまで待つプロセスを入れて、これまでのタイムアウトは完全に解消された。連続データは勿論、(2)のリピートスタート処理も全く問題なく動く。仮説に基づき、ロジアナで少しづつ事実を追いながら原因を突き止めた。「デバッグは外へ、外へ」という格言どおり、原因は意外なところに潜んでいたのである。readmeもつけた(10/30/2015)紙数が増えてきたので、(2)や、(3)の機能の説明は、添付するソースコードのフォルダーの中にあるreadme.txtにまとめて書いたので、そこを参照頂きたい。回路図も念のため掲載しておく。冒頭でも述べたが、このソースコードはSR04というセンサーユニットをI2Cで動かすための機能と、連続データの入出力などのテスト機能が入った、汎用的なモデル機能をデモするプログラムで余り実用的なものではない。このソースを参考に、ご自分の用途にあったI2Cスレーブのプログラムを開発されたい。いう意味では、余計な機能や冗長なコードがまだ沢山残っており、余り自慢できるものではないが、少しでも参考になればと恥を忍んで公開することにする。以下に、2つのファームウエアのフォルダーとreadme.txtなどをzipでかためたファイルを置きます。同じファイル名でも、以前に公開したファイルと内容は全く異なっていますのでご注意ください。「I2CslaveSet.zip」をダウンロード上記のライブラリーは改訂されています。Tiny85のI2Cスレーブライブラリー完成。半年ぶりのブログ更新に漕ぎつけた(2019.09.19)研究所活動は停滞したままでCCDカメラ顕微鏡導入など(2019.02.08)ドングルのHFコンバーターでJJY標準電波は見えたか(2018.12.12)JJY電波を見るため、RF(高周波)の世界に踏み込む(2018.10.31)ESP8266のJJY電波時計のスケッチ公開(2018.10.02)コメントコメントを書く名前:メールアドレス:(ウェブ上には掲載しません)アドレス(URL):この情報を登録するコメントは記事投稿者が公開するまで表示されません。Tiny85のI2Cスレーブライブラリー完成。面実装のDC-DCコンバーターの制作にはまる。