[H8-ML(5569)] I2Cの質問です
From: "Koji Takeuchi" <ktakeuchi@xxxxxxxxxxxxxxxxx>
Date: 2005年05月23日(月)18時17分08秒
リストの皆様へ

H8-3217のI2Cバスを使いたいんですが。

以下のコードでは動作しません。

 IIC0.ICCR.BIT.ICE   = 1;   /* IIC I/F ENABLE       */

 while(IIC0.ICSR.BIT.BBSY){}  /* IIC BUS FREE?       */

 IIC0.ICCR.BIT.MST   = 1;   /* SELECT MASTER MODE      */

 IIC0.ICCR.BIT.TRS   = 1;   /* SELECT TRANSMITTING MODE     */

 IIC0.ICSR.BIT.BBSY  = 1;

 IIC0.ICSR.BIT.SCP   = 0;   /* IIC BUS USING START      */
この時点でSCL,SDAが一瞬ロウになりハイになります。(開始条件の発行だと思います)

 IIC0.ICDR           = data;  /* START TO SEND DATA      */

上の1行でデータ送信を開始するはずなのですが。。。
SCL、SDAはハイのままで動きません。

因みにスレーブを全て切り離しても同様の結果です。

バスのアービトレーションはゼロから変化していないようなので確保されているようです。

ICDRに送信データを書き込む前後に何か処理が必要なのでしょうか。

レス頂けましたら。幸甚で御座います。

たけうち

スレッド概略
[表示中](起点)
 └[5572(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]