RL78G10をI2Cのマスターとして設定する場合は特に大きな問題は出ず解説を書くまでも
無いと思っていました。今度はスレーブとして利用しようと思いコード生成で設定したら
・自局より小さいアドレスに勝手に反応する
・エラーが出るとバスを占拠して何もできなくなる
・ACKが正しく検出できない事がある
等不可解な現象に遭遇しました。
今回はこれら現象を記録しておきます。
対策は次回の対策案編を参照ください。
関連:
・
I2Cとは・
コード生成(準備編)・
コード生成(UART編)・
スレーブ対策案編基本的な話
RL78G10にはI2C向けに使える端子としてIIC系(SCL,SDA)とIICA系(SCLA,SDAA)の
2系統があります。で、IIC系はスレーブとして設定できないらしく、スレーブ
として使いたい場合は必然的にIICA系を利用する必要があります。
秋月で購入可能なRL78 R5F10Y16(10pin)はI2Cをスレーブに設定できません。
ということで今回は主にRL78 R5F10Y47(16pin)の内容となります。
コード生成の準備が出来たら コード生成 > 周辺機能 > シリアル・インターフェースIICAから
転送モードをスレーブに設定してコード生成します。