マスター側TJ3Bがスレーブ側にどんなデータを送っているか確認するために、少しずつプログラムを変更してみる。
スレーブ側arduinoで受信データを確認する。arduinoのプログラムは先日のまま。
- sub_io_set_gV の場合は receiveEvent のみが呼ばれる。
- 1〜2行目 I/O[1]:A=100
- 3〜4行目 I/O[1]:B=128
- 5〜6行目 I/O[1]:C=1024
- sub_io_get_gV の場合は receiveEvent の後に requestEvent が呼ばれる。
- 7〜9行目 A=I/O[1]:A
- 10〜12行目 B=I/O[1]:B
- 13〜15行目 C=I/O[1]:C
receiveEventでマスタ側TJ3Bからの指示を確認し、sub_io_get_gVの場合は指示内容に応じて、requestEvent でマスタ側TJ3Bに返す値を変更すれば、arduinoがTJ3Bのスレーブになる(はず)。
マスタ側JT3Bが送る指示内容は、ビルドパス内の D_I2C.c ファイルを見ても確認できる。