• 締切済み

I2Cについて

現在、DALLASセミコンダクター社のDS1307というリアルタイムクロックICを制御しようとしています。 仕様書を見ると、I2Cという言葉が出てきたので、自分なりに調べて制御を試みています。 今は、SDA,SCLに与える信号をタイミングが合うように1bit毎に出力していますが、うまくいきません。 具体的には、DS1307からACK信号が帰って来ないためタイムアウトエラーなります。 何かアドバイスがある方がいましたらお願いします。

みんなの回答

回答No.1

記憶と感覚だけでアドバイス差し上げます。つまり、DS1307のdata sheetも見ていませんし、I2C-master側動作をさせようとしているあなたのハードウェアに関する知識もありません。 ・あなたがこのような細かいところのハードウエアを組み上げているかたなら、きっと波形観測する装置をお持ちではないですか?  波形観測して、ご自身が作っているはずの波形が出ていることを確認なさると不具合が見えてくるのではないかと思います。 ・DS1307側に、動作可能クロックの制約がありますよね?  あなたがドライブしているSCLは、その範囲に入っていますか? ・Phillips社のI2Cバス仕様に載っているように、2つの信号線がタイミングよくドライブされていないのかなぁ...とも思います。 ・スレーブアドレスは間違っていないのでしょうか? ・最後に、たった1つのDS1307でお試しになっていますか? その個体の故障ってことも考えられます。 参考まで。

関連するQ&A