Programa exemplo que escreve e lê um byte na EEPROM 24C32.
#include <Wire.h>
#define disk1 0x51 //Address of 24C32 eeprom chip
void setup(void)
{
Serial.begin(115200);
Wire.begin();
unsigned int address = 2;
writeEEPROM(disk1, address, 64);
Serial.print(readEEPROM(disk1, address), DEC);
}
void loop(){}
void writeEEPROM(int device, unsigned int address, byte data )
{
Wire.beginTransmission(device);
Wire.write((int)(address >> 8)); // MSB
Wire.write((int)(address & 0xFF)); // LSB
Wire.write(data);
Wire.endTransmission();
delay(5);
}
byte readEEPROM(int device, unsigned int address )
{
byte rdata = 0xFF;
Wire.beginTransmission(device);
Wire.write((int)(address >> 8)); // MSB
Wire.write((int)(address & 0xFF)); // LSB
Wire.endTransmission();
Wire.requestFrom(device,1);
if (Wire.available()) {
rdata = Wire.read();
}
return rdata;
}
