nobcha23の日記

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

マニュアルをまじめに読む

ひとごとではなく、まじめに読まないといけません。

PIC16F1827基板(LCD付き、i2c付き、ICSPコネクタ付き)にピポパ電話機用のキーパッドをつけてi2cキーパッドを作ろうというプロジェクトをやってます。i2c液晶は何とかなったが、キーの追加で苦戦。

しかしながら、昨日まで引っかかっていた件は解決。i2cのマスターからスレーブのデータを送ってもらって読み取るプロトコルではマスター側は一番最後のバイトにNAKを返す必要があります。ACKが0でNAKが1というのも間違いを誘発した要因かも。ともかく、キーコードを1バイトだけマスターはもらいますが、返事はNAKにしてなかったため、スレーブ側はまだ次の要求が来ると思って待っていたようです。

その過程の中でPIC16F1827のドキュメント254ページに24.5.3 スレーブ側からの送信と言う節がありましたので、ついでに訳してみました。タイミングは255ページの絵を参照します。
http://chitose6thplant.web.fc2.com/exp/i2c_slave/mchip_1827_p254.pdf

もちろん、マイクロチップ社のAP-734も実験卓においておきます。SSPやMSSPを使用して作るスレーブの説明です。関係部分のみの翻訳。
著作権マイクロチップ社にあります。AP-734の一部訳。
http://chitose6thplant.web.fc2.com/exp/i2c_slave/ap-734_ja_part.pdf
どちらもマイクロチップ社PICアプリケーション実験の補完用にのみ使用するためのものです。



ところで、この基板を使用の第一番目試作プロジェクトで手がけたのは簡易周波数カウンタ、二番目が基板外側にrtcをつけ制御するRTC-8564NB使用のクロック時計機能試作実験です。詳しくは次のホームページのWHAT'S NEWをご覧ください。
http://chitose6thplant.web.fc2.com/

追記
後からトラ技6月号を読み返していたら、picで動かすi2cの記事がありました。「オススメPICその2:静電容量検出回路8個内蔵!PIC16F1938」P117の中でマスタ・スレーブ間の通信についてチャートで解説されてました。これを知っていたら、英文のマニュアルを数ページも訳さなくても良かったんですが・・・。