Muchas gracias SrDonGato, me ha costao pero el escribir lo he resuelto así, no se si será la mejor manera pero esque he probado de todo y no sabia como hacerlo, ahora me falta el leerlo todo a la vez pero poco a poco, si se puede mejorar soy todo oidos.
void i2c_eeprom_write_data(int device, unsigned int add, byte *data)
{
byte err;
byte cont=sizeof(data); //compruebo el tamaño de los datos por si hay que grabar en varias zonas de memoria
for(err=0;err<cont;err++){
Wire.beginTransmission(device);
Wire.write((int)(add >> 8)); // left-part of pointer address
Wire.write((int)(add & 0xFF)); // and the right
Wire.write(data[err]); //los datos en bytes hacia donde apunta el puntero de datos
Wire.endTransmission ();
delay(10);
add++; // incremento en uno la direccion de memoriapara añadir otro dato en caso de haberlo
}
}
void setup()
{
//char somedata[] = "this is data from the eeprom"; // data to write
int somedata=26;
Wire.begin(); // initialise the connection
Serial.begin(9600);
int ji=820;
byte *pDato = (byte *) &ji;
Serial.println("Memory written");
i2c_eeprom_write_data(0x50, 1,pDato);
delay(10); //add a small delay
Serial.println("Reading data...");
d=readData(0x50,1);
Serial.println(d, HEX);
d=readData(0x50,2);
Serial.println(d, HEX);
}
void loop()
{}