Reference for Wiring version 0027+. If you have a previous version, use the reference included with your software. If you see any errors or have any comments, let us know.

Class

Wire

Name

receive()

Examples
#include "Wire.h"

void setup()
{
  // join i2c bus (address optional for master)
  Wire.begin();
  // start serial for output  
  Serial.begin(9600);
}

void loop()
{
  // request 6 bytes from slave device #2
  Wire.requestFrom(2, 6);    

  // slave may send less than requested
  while(Wire.available())    
  { 
    // receive a byte as character
    char c = Wire.receive(); 
    Serial.print(c);  // print the character
  }

  delay(500);
}

#include "Wire.h"

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

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)
{
  // loop through all but the last
  while(1 < Wire.available()) 
  {
    // receive byte as a character
    char c = Wire.receive(); 
    Serial.print(c);  // print the character
  }
  // receive byte as an integer
  int x = Wire.receive();    
  Serial.println(x);  // print the integer
}
Description The receive() method returns a byte received from a device.
Syntax
Wire.receive()
Parameters
Wire The hardware TWI port
Returns The byte received.
Usage Application
Updated on September 18, 2010 03:23:37pm PDT

Creative Commons License