Hola a todos
Estoy intentando usar una memoria eeprom por i2c con arduino pero no he podido hacerla funcionar bien, basicamente lo que pasa es que no puedo leer ni grabar en una ubicación específica.
La memoria que estoy usando es una 24LC16B, todo esta bien conectado A0,A1,A2 y WP a GND, SDA y SDL con pull-up de 1K.
Utilicé las funciones presentes en [1] y muchas otras que encontre en internet pero ninguna funciono.
Pongo a continuación el código basico que estoy utilizando haber si alguno me hecha un mano.
Gracias.
Leonardo
[1] Arduino Playground - I2CEEPROM
#include <Wire.h>
int deviceADD = 0x50;
void setup (){
Wire.begin();
delay(5000);
Serial.begin(9600);
Serial.println("Escribiendo");
Wire.beginTransmission(deviceADD); //Control Byte
Wire.send(0x00); //Direccion high |Word Address
Wire.send(0x01); //Direccion Low |
Wire.send(0x35); //Dato 5 |Data
Wire.endTransmission();
delay(3);
}
void loop (){
unsigned char temp = 0;
Serial.println("Leyendo");
Wire.beginTransmission(deviceADD); //Control Byte
Wire.send(0x00); //Direccion high |Word Address
Wire.send(0x01); //Direccion Low |
Wire.endTransmission();
Wire.requestFrom(deviceADD,1);
if (Wire.available())
temp = Wire.receive();
Wire.endTransmission();
Serial.println(temp);
delay(2000);
}