#include #define I2C_ADDRESS 0x04 void setup() { Wire.begin(I2C_ADDRESS); Wire.setClock(400000L); Wire.onReceive(receiveEvent); Wire.onRequest(requestEvent); Serial.begin(19200); Serial.println(F("Ready")); } void loop() { } void receiveEvent(int msgLength) { unsigned long time = millis(); Serial.print(F("Start receiveEvent ")); Serial.println(time); Serial.print(F("Received: ")); Serial.print(msgLength); Serial.println(F(" bytes")); for (uint8_t i = 0; Wire.available(); i++) { Serial.print(Wire.read(), HEX); Serial.print(","); } Serial.println(); Serial.println(F("Waiting...")); Serial.flush(); _delay_ms(1000); Serial.print(F("End receiveEvent ")); Serial.println(time); Serial.flush(); } void requestEvent() { unsigned long time = millis(); Serial.print(F("Start requestEvent ")); Serial.println(time); //nop Serial.print(F("End requestEvent ")); Serial.println(time); }