2016-10-06 1 views
0

다음 Arduino Slave i2C의 예제 코드가 있습니다. 정확히 매개 변수 int howMany의 기능은 무엇인가, 방법 void receiveEvent(int howMany)에서매개 변수 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 
} 

https://www.arduino.cc/en/Tutorial/MasterWriter에서 촬영?

답변

1

receiveEvent은 이벤트 처리기로 Wire.onReceive()에 제공됩니다.

그래서 Wire.onReceive

핸들러의 문서에서 : 슬레이브가 데이터를 수신 할 때 함수를 호출하는 단계; 이 그것은 수신 된 데이터의 바이트의 양을 포함 : void myHandler(int numBytes)

, 예컨대을 단일의 int 매개 변수 (마스터에서 읽은 바이트 수를) 가지고 아무것도 반환해야합니다.