nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

動きました I2C関数

動きましたあー。真似したルーチンはマル
チマスター対応、更にソフト方式とハード
SSP方式コンパイラオプションなので、

ちょっと身に余る複雑構造でした。更に
WRITE/READデバイス用両方を網羅しており、
デバッグも苦労しました。まずはマルチマ
スターと、ハードSSPは捨てて、シングル
マスター、ソフト使用方式に切り替えます。
ACKのところでSCLがSCL=0からSCL=TRISTATE
になっていたのが良く無いようで、SCL=Hに
したらうまくいきました。LCDデバッグ
はWRITE側しか使いませんでしたので、更に
READが残ってます。また、今回LCDはスレー
ブ側からのクロック延長機能は無いのでそ
の部分デバッグは残ってます。とはいえ、
とりあえず一件落着。 



ワタシの場合は自分で汎用ルーチンを作ると
言う目標だったのでサンプルプログラムを参
考にバグつぶししました。
ストロベリーリナックスのi2Cを使用したい
だけでしたら、後閑さんの次の所に記載され
ているルーチンがWRITE動作にチューニング
されて簡単になってますので、いいかもしれ
ません。
「8ピンPICマイコンの使い方がよくわかる本 (基礎入門)」