This is an old revision of the document!
There are many possibilities to read from and write to flash memory. This page tries to give a overview of a few practical methods.
#include <Wire.h> byte eeprom_i2c_read(int address, int from_addr) { Wire.beginTransmission(address); Wire.write(from_addr); Wire.endTransmission(); Wire.requestFrom(address, 1); if(Wire.available()) return Wire.read(); else return 0xFF; } void setup() { Wire.begin(); Serial.begin(9600); for(int i = 0; i < 256; i++) { byte r = eeprom_i2c_read(B01010000, i); Serial.write(r); delay(10); } for(int i = 0; i < 256; i++) { byte r = eeprom_i2c_read(B01010001, i); Serial.write(r); delay(10); } for(int i = 0; i < 256; i++) { byte r = eeprom_i2c_read(B01010010, i); Serial.write(r); delay(10); } for(int i = 0; i < 256; i++) { byte r = eeprom_i2c_read(B01010011, i); Serial.write(r); delay(10); } } void loop() { }