2016-10-06 38 views
0

次のArduinoスレーブi2Cのコード例があります。方法void receiveEvent(int howMany)https://www.arduino.cc/en/Tutorial/MasterWriterパラメータint Arduino i2Cスレーブ受信機のhowmany

#include <Wire.h> 

void setup() { 
    Wire.begin(8);    // join i2c bus with address #8 
    Wire.onReceive(receiveEvent); // register event 
    Serial.begin(9600);   // start serial for output 
} 

void loop() { 
    delay(100); 
} 

// function that executes whenever data is received from master 
// this function is registered as an event, see setup() 
void receiveEvent(int howMany) { 
    while (1 < Wire.available()) { // loop through all but the last 
    char c = Wire.read(); // receive byte as a character 
    Serial.print(c);   // print the character 
    } 
    int x = Wire.read(); // receive byte as an integer 
    Serial.println(x);   // print the integer 
} 

から撮影、パラメータint howManyの機能が正確に何ですか?

答えて

1

receiveEventは、イベントハンドラとしてWire.onReceive()に提供されます。 Wire.onReceive

ハンドラのドキュメントからそう

、:スレーブがデータを受信したときに呼び出される関数。これは単一のintパラメータ(マスタから読み取られたバイト数)を取り、何も返しません(例:void myHandler(int numBytes)

)これは受信データのバイト数を含みます。

関連する問題