こんばんは、井田です。 ようやく動作するようになりました(^^;) 色々とプログラムを修正している時に、 スタートコマンドのところで、下記のようにしないといけない所が SCL = H; SDA = H; wait(1); SDA = 0; SCL = 0; wait(1); 下記のようになっていました。 P6DR.BYTE &= ~0x02; P6DR.BYTE |= 0x01; P6DR.BYTE &= ~0x01; wait(1); P6DR.BYTE &= ~0x02; wait(1); 後、PxDDRにセットする時も、一度変数にセットしてから、DDRにセットするようにしました。 P6_DDR |= 0x01; P6DDR = P6_DDR; 回答いただいた皆さんありがとうございます。 >安井です。こんにちは。 > >> あとはどの変を検証していけばいいのでしょうか? > >まずは、書き込み動作の時、SDAとSCLが正しく出ているか。 >信号が正しくて、ICが壊れていなければ、当然ですが書き込み >はされているはず。その後、読み出しでも波形が正しいかだと >思います。SDA,SCLが正しくなければ、プログラムを修正。 > >ポートの使い方は、私も、入力設定とプルアップ抵抗でHを作り、 >Lを出力してLを作っています。IICバスはマルチマスターのため、 >常に1つのCPUが出力では問題があるため。ですか? > > >