Reference for Wiring version 0024+. 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.

Name

Wire

Examples
#include "TwoWire.h"

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

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

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

  delay(500);
}

#include "TwoWire.h"

void setup()
{
  Wire.begin(4);                // join i2c bus with address #4
  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.receive(); // receive byte as a character
    Serial.print(c);         // print the character
  }
  int x = Wire.receive();    // receive byte as an integer
  Serial.println(x);         // print the integer
}
Description There is a TWI (Two Wire Interface) port available on the Wiring board named Wire. The port Wire is available on the Wiring harware pins 0(SCL) and 1(SDA).
Syntax
Wire
Methods
available()
beginTransmission()
endTransmission()
onReceive()
onRequest()
receive()
requestFrom()
send()
Parameters
Wire The hardware TWI port
Returns None
Usage Application
Updated on November 02, 2009 12:36:18am PST

Creative Commons License