Eeprom 24LC08

Tengo una

Estoy usando este codigo para grabar los 8 bytes en cada direccion de memoria. Esta eeprom puede almacenar 256 mensajes de 8 bits cada uno.

void setup()
{
 
 Wire.begin(); 
 Serial.begin(9600);
 
//Guardar el mensaje "12345678" ocupando 8 bytes en la posicion
//de memoria 0x000

 Wire.beginTransmission(0x50); 
 Wire.send(0x000); 
 Wire.send("12345678");
 Wire.endTransmission();

  delay(10);

 //Guardar el mensaje "12345678" ocupando 8 bytes en la posicion
 //de memoria 0x008

 Wire.beginTransmission(0x50); 
 Wire.send(0x008); 
 Wire.send("12345678");
 Wire.endTransmission();
}

Lo que no entiendo es como hacer para saber por ejemplo la direccion que corresponde a la posicion 60.

0x0000 FF FF FF FF FF FF FF FF <--- Posicion 1
0x0008 FF FF FF FF FF FF FF FF <--- Posicion 2
0x0010 FF FF FF FF FF FF FF FF <--- Posicion 3
0x0018 FF FF FF FF FF FF FF FF <--- Posicion 4
....
....

Salu2

Bastante sencillo:

  • Llama P al número de posicion de 8 bytes
  • Considera primero todos los numeros en decimal.
  • Siendo así:

dirección (decimal)= P x 8

  • Ahora solo tienes que convertir la direcion decimal obtenida en Hexadecimal

Para el caso de la posición 60.

direccion(decimal) = 60 x 8 = 480 ------> dirección (Hexadecimal) = 1E0 --> 0x01E0

No tiene más misterio.

Gracias piniflopa, no habia caido en convertirlo a hexadecimal.