■Wire: read関数
Wire: read関数は、requestFrom関数の呼び出し後にスレーブデバイスからマスタに送信された、またはマスタからスレーブに送信されたバイトを読み取ります。
read関数はStreamユーティリティークラスから継承します。
■使用例
ArduinoIDEで使用するWire: read関数の使い方は以下の通りです。
試しにこのプログラムをArduinoUNOで実行すると、最初にWire.begin関数でI2Cバスを開始し、Serial.begin関数でシリアル通信を開始します。
次にWrite.requestFrom関数で2番のスレーブデバイスから6バイトを要求し、Wire.read関数で文字を受信し変数cに代入します。
最後に変数cをSerial.print関数によってシリアルモニターに出力します。
#include <Wire.h> void setup() { Wire.begin(); // i2cバスに参加する(マスタの場合はアドレスはオプション) Serial.begin(9600); // シリアル出力を開始する } void loop() { Wire.requestFrom(2, 6); // スレーブデバイス#2から6バイトを要求する while (Wire.available()) { // スレーブは要求したものより少なく送ることができる char c = Wire.read(); // 文字をバイトとして受け取る Serial.print(c); // 文字を印刷する } delay(500); }
図1:プログラム例
■構文
Wire.read()
■パラメータ
有りません。
■戻り値
受信した次のバイト。
励みになりますのでよければクリック下さい(^o^)/