====== Arduino/Genuino Language Syntax ======
=== EEPROM ===
Storing values in the EEPROM enables you to preserve them between runs. The most useful functions are ''EEPROM.put(eepromAddress, value)'' and ''EEPROM.get(eepromAddress, variable)''.
The values saved and retrieved can be of any type but you have to keep track of the location on the EEPROM where the value resides. The best way is to use the sizeof() function. Start with a pointer set at EEPROM address 0 and increment/decrement it as you go, e.g.
int eepromAddress = 0;
int i = 1;
float f = 1.2;
byte b = 0x02;
void setup(){
EEPROM.put(eepromAddress, i); // write an int value
eepromAddress += sizeof(int); // increment by the length of an int in memory
EEPROM.put(eepromAddress, f); // write a float value
eepromAddress += sizeof(float); // increment by the length of a float in memory
EEPROM.put(eepromAddress, b); // write a byte value
}
To get the values back later…
int eepromAddress = 0;
int i;
float f;
byte b;
void setup(){
EEPROM.get(eepromAddress, i); // read an int value
eepromAddress += sizeof(int); // increment by the length of an int in memory
EEPROM.get(eepromAddress, f); // read a float value
eepromAddress += sizeof(float); // increment by the length of a float in memory
EEPROM.get(eepromAddress, b); // read a byte value
}