I2CによるCPU同士の通信実験
マスター側にR8C/M12A、スレーブ側にArduinoを使ったI2Cによる通信実験を行ってみました。
動作手順
1)マスター側(R8CM12)からスレーブ側のArduino(7ビットアドレス0x08+R/W:0x10)に送信リクエスト要求を行います。
2)スレーブ側はリクエストを受信し、スレーブ側の12番ポートに接続されたスイッチの状態、ON=1またはOFF=0をマスター側に送信すると同時にスレーブ側の11番ポートのLEDを点灯(ONの時)または消灯(OFFの時)します。
3)マスター側は、スレーブ側のデータを読み取る時はスレーブ側へR/W信号を1にして読み取ります(スレーブアドレス:0x11)。スレーブ側から送られた信号(0または1)を受信し、マスター側に接続されたLCD画面にその受信した信号値を表示します。
スイッチの動作状態が不安定です。おそらくチャタリングのせいだと思います。スイッチの回路にFF(フリップフロップ)を組み込まないといけないと思いますが、プログラム的にはOKと思いますので、とりあえずアップしておきます。
プログラムの書き込みができない状態になってしまい研究がストップしてしまいました。R8Cライター、R8Cのボードのどっちの不具合なのか不明です。とりあえず、完成した部分のみのアップになってしまいました。R8C同士の通信を目指していたのですが、R8C以外のCPUを使うという不本意な結果になってしまいましたが、ご容赦ください。
プロジェクトファイルのダウンロード
メニューに戻る