ArduinoでI2C信号をモニタする
SCL, SDAをモニタするのに、専用の機材(ロジックアナライザ等)を使う、LEDを光らせる、等がありますが、ここではせっかくI2C slaveをArduinoで作っているのでArduinoの機能を使います。
従来はシリアルモニタでキャラクタコードを出力していたのですが、最近シリアルプロッタと言う便利な機能が追加されたのでこれを使いましょう。以下がサンプルコードです。
byte scl = 0;
byte sda = 0;
byte b = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print(scl+2);//SCLが下なのが一般的のようなので気になる人は変えて下さい
Serial.print(",");
Serial.print(sda);
Serial.println("");
if (b == 00) { scl=0;sda=0;}
else if (b == 64){ scl=1;sda=0;}
else if (b == 128){ scl=0;sda=1;}
else if (b == 192){ scl=1;sda=1;}
b++;
}
Arduino IDEのメニューのツール>シリアルプロッタを選択すると以下のような画面が現れます。
ここまで
コメント
コメントを投稿