buscando por el foro encontre el siguiente enlace
http://arduinox.blogspot.com del cual saque el siguiente programita para usar una EEPROM 24xx256, bien el prgrama lo he probado y funciona correctamente, quisiera saber saber si alguien ha usado este programa y ha podido escribir en varias paginas de la eeprom, lo que estoy tratando de hacer es escribir en la pagina 1 el dato 100 y en la pagina 2 el dato 25 (esto es un ejemplo) pero cuando voy a leer solo leo el dato 100, les coloco el codigo de lectura y escritura de la eeprom por separado
los pines A0,A1 y A2 estan conectados a los pines 2,3 y 4 del arduino respectivamentelectura de la Eepromvoid loop (){
Serial.println("Leyendo");
digitalWrite(A0,LOW);
digitalWrite(A1,LOW);
digitalWrite(A2,LOW);
delay(1000);
Wire.beginTransmission(0x50); //DIRECCION DEL DISPOSITIVO
Wire.send(150); //DIRECCION DE LA PAGINA
Wire.send(0x01); //LEO 1 BYTE DE LA MEMORIA
Wire.endTransmission();
Wire.requestFrom(0x50,1);
if (Wire.available())
temp = Wire.receive();
Wire.endTransmission();
Serial.println(temp,DEC);
Serial.println("Leyendo Pagina 2");
digitalWrite(A0,HIGH);
digitalWrite(A1,LOW);
digitalWrite(A2,LOW);
delay(2000);
Wire.beginTransmission(0x52); //DIRECCION DEL DISPOSITIVO
Wire.send(150); //DIRECCION DE LA PAGINA
Wire.send(0x01); //LEO 1 BYTE DE LA MEMORIA
Wire.endTransmission();
Wire.requestFrom(0x52,1);
if (Wire.available())
temp = Wire.receive();
Wire.endTransmission();
Serial.println(temp,DEC);
delay(2000);
}
Escritura de la Eepromvoid loop(){
//*****Escribiendo en la pagina 1******
digitalWrite(A0,LOW);
digitalWrite(A1,LOW);
digitalWrite(A2,LOW);
Wire.beginTransmission(0x50); //Direccion de la Pagina a escribir
Wire.send(150); //DIRECCION DE LA PAGINA (puedo acceder hasta 32768 paginas de 8 BYTE cada una)
Wire.send(0x01); //OCUPO 1 BYTE DE LA PAGINA
Wire.send(100); //Dato a escrbir
Wire.endTransmission();
delay(2000);
//*****Escribiendo en la pagina 2
digitalWrite(A0,HIGH);
digitalWrite(A1,LOW);
digitalWrite(A2,LOW);
delay(1000);
Wire.beginTransmission(0x52); //Direccion de la Pagina a escribir
Wire.send(150); //DIRECCION DE LA PAGINA (puedo acceder hasta 32768 paginas de 8 BYTE cada una)
Wire.send(0x01); //OCUPO 1 BYTE DE LA PAGINA
Wire.send(25); //Dato a escrbir
Wire.endTransmission();
delay(1000);
}