#include <Wire.h>
#define EEPROM_ADDR 0x50
void writeEEPROM(int address, byte data) {
Wire.beginTransmission(EEPROM_ADDR);
Wire.write((int)(address >> 8)); // MSB
Wire.write((int)(address & 0xFF)); // LSB
Wire.write(data);
Wire.endTransmission();
delay(5);
}
byte readEEPROM(int address) {
Wire.beginTransmission(EEPROM_ADDR);
Wire.write((int)(address >> 8));
Wire.write((int)(address & 0xFF));
Wire.endTransmission();
Wire.requestFrom(EEPROM_ADDR, 1);
return Wire.read();
}
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("Writing data...");
writeEEPROM(0, 123);
Serial.println("Reading data...");
byte data = readEEPROM(0);
Serial.print("Value: ");
Serial.println(data);
}
void loop() {
}