Data Sheet
 Wire.endTransmission();
 }
 byte i2c_eeprom_read_byte( int deviceaddress, unsigned int eeaddress ) {
 byte rdata = 0xFF;
 Wire.beginTransmission(deviceaddress);
 Wire.send((int)(eeaddress >> 8)); // MSB
 Wire.send((int)(eeaddress & 0xFF)); // LSB
 Wire.endTransmission();
 Wire.requestFrom(deviceaddress,1);
 if (Wire.available()) rdata = Wire.receive();
 return rdata;
 }
 // maybe let's not read more than 30 or 32 bytes at a time!
 void i2c_eeprom_read_buffer( int deviceaddress, unsigned int eeaddress, byte *buffer, int length ) {
 Wire.beginTransmission(deviceaddress);
 Wire.send((int)(eeaddress >> 8)); // MSB
 Wire.send((int)(eeaddress & 0xFF)); // LSB
 Wire.endTransmission();
 Wire.requestFrom(deviceaddress,length);
 int c = 0;
 for ( c = 0; c < length; c++ )
 if (Wire.available()) buffer[c] = Wire.receive();
 }
 void setup() 
 {
 char somedata[] = "this is data from the eeprom"; // data to write
 Wire.begin(); // initialise the connection
 Serial.begin(9600);





