1.概要
ルネサス製RL78マイコンの簡易IIC機能を使用して I2C接続のLCDモジュールを駆動する場合、
半田不良でSDA端子がオープンとなっていると、この異常を検出できない問題が発生しました。
RL78はフルスペックのIIC機能を使用すればスタートコンディションを確認できて上記異常を検出できますが、
簡易IIC機能ではスタートコンディションを確認できません。
本来、上記LCDのように送信機能のみを使用する場合は、フルスペックのIIC機能を使用すべきですが、
ハード変更せずに簡易IIC機能のままで上記異常検出した事例を説明します。
2.対策
簡易IICのSDA端子を一旦汎用ポートに切換えて、ポートレベルがHighレベルであった場合にマスター送信を開始し、
ポートレベルがLowであった場合は通信エラーとします。
3. 処理の例
なお、下記フローは分かり易くするため実際のプログラムの構造とは若干異なります。