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; }