[戻る]
一括表示

I2CのSENビットがクリアされない 投稿者:tmo 投稿日:2017/02/10(Fri) 14:05:27 No.821

はじめて投稿します。
下記の現象について、原因と対策の心当たりのある方いらっしゃいませんでしょうか?

PIC18F66K40でI2C制御をしようとしているのですが、動作がどうも解せません。
SSP1CONのSENビットをセットするとSCLとSDAが同時に立ち下がり、1.5us程度でSCLが立ち上がり、50nsほど遅れてSDAが立ち上がります。
しかも、SCLとSDAが立ち上がってもSENビットはクリアされません。

それと、上記1.5usという期間はボーレート設定(SSP1ADD)の値を変えても変化がありません。
デバッガでブレークをかけてSENビットを直接クリアしてやっても直後に再度セットされてしまいます。

スレーブ側デバイスを外した状態でも現象に変化はありません。

ボーレートジェネレータの挙動がおかしいように感じるのですが、いかんせん内部動作まで見えないので確証はありません。

以上、よろしくお願いします。

- WebForum -