comunicacion I2C con arduino mega

la direccion I2C es 0x51 y me dice que la direccion eeprom es 10 entonces lo que quiero es leer la direccion 10 pero no me deja y no se porque
#include <Wire.h>

#define adress 0x51
#define sensitivity 0x10 // tengo que leer 2 byte

int sensitividad_low,sensitividad_high;

void leer_adress();

void leer_adress()
{
Wire.beginTransmission(adress);
Wire.send(0);
Wire.endTransmission();

Wire.requestFrom(adress,2); // direccion y dos bytes para lectura
while(Wire.available() < 2);
sensitividad_high = Wire.receive();
sensitividad_low = Wire.receive();
Serial.println(“DATO”);
Serial.print(sensitividad_high);
Serial.println(sensitividad_low);
Serial.println(" ");
delay(1000);
}

void setup()
{
Wire.begin();
Serial.begin(9600);
}
void loop()
{
leer_adress();
}


a ver si me podeis ayudar por favor
Gracias de antemano :sunglasses:

me auto contesto lo tengo resuelto !!

Hola que eeprom esta tratando de leer y si puedes comentar como resolvistes.

Saludos. Atten. Alexander Santana. Venezuela-barcelona.

Pues queria leer a eeprom del sensor asi que lo hice funcionar pidiendole mas byte al sensor y quedandome aquellos que me interesaban. como era la direccion 10 y 11 pues pedi 12 bytes y me quede con ellos

Tengo un problema mas resulta que tengo un DS1307 (un reloj RTC)
y su direccion es 0x68 pero me gustaria activar la señal cuadrada que tiene en la direccion 0x07 y tengo que escribir 00010011b entonces no se como hacerlo , es decir, llamo primero al dispositivo y luego mando el byte o como ¿¿¿
os dejo el codigo para saber si esta bien , que ya creo k no

#include <Wire.h>
#define reloj 0x68

void setup()
{
Wire.begin();
Serial.begin(9600);
}
void loop()
{
Wire.beginTransmission(reloj);
Wire.send(0);
Wire.endTransmission();
delay(200);
Wire.send(0x07,00010011) //32.768kHz
}

graicas de antemano :sunglasses:

Los send tienen que ir entre el start y endTransmission

esta asi entre el start y el end

Pero gracias ya lo solucione!! ahora tengo otro problema !!