Poniżej prosty Sketch do obsługi eeprom i fram po i2c
// // #include <Wire.h> // biblioteka do obsługi i2c #define device_address 0x50 // adres eeprom void setup(void) { Serial.begin(9600); Wire.begin(); unsigned int address = 0; // adres komórki do zapisu // zapisz (adress eeprom, adres komórki, wartość) writeEEPROM(device_address, address, 123); // odczytaj z eeporom (adress eeprom, adres komórki) Serial.print(readEEPROM(device_address, address), DEC); } void loop(){} void writeEEPROM(int deviceaddress, unsigned int eeaddress, byte data ) { Wire.beginTransmission(deviceaddress); Wire.send((int)(eeaddress >> 8)); // MSB Wire.send((int)(eeaddress & 0xFF)); // LSB Wire.send(data); Wire.endTransmission(); delay(5); } byte readEEPROM(int deviceaddress, unsigned int eeaddress ) { byte rdata = 0xFF; Wire.beginTransmission(deviceaddress); Wire.send((int)(eeaddress >> 8)); // MSB Wire.send((int)(eeaddress & 0xFF)); // LSB Wire.endTransmission(); Wire.requestFrom(deviceaddress,1); if (Wire.available()) rdata = Wire.receive(); return rdata; }