55. I2C Programming

Question.6

What will be printed on the Serial Monitor?

Master Arduino Code:

#include <Wire.h>

void setup() {
  Wire.begin();      
  Serial.begin(9600);    
  delay(1000);           
}

void loop() {
  unsigned long startTime, endTime;
  startTime = micros();  
  
  Wire.beginTransmission(8);  
  Wire.write(0x20);     
  Wire.endTransmission();     

  endTime = micros();  
  unsigned long transmissionTime = endTime - startTime;  
  
  Serial.print(transmissionTime);
  Serial.println(" us");
  while(1);
}

 

Slave Arduino Code:


#include <Wire.h>

void setup() {
  Wire.begin(8); 
  Wire.onReceive(receiveData); 
}

void loop() {
}

void receiveData(int byteCount) {
  
  while (Wire.available()) {
    byte receivedData = Wire.read();  
  }
}


 

Select Answer