Code: Select all
template <class T> void eeGet(int ee,T& value){
byte* p=(byte*)(void*)&value;
unsigned int i;
for(i=0;i<sizeof(value);i++)
*p++=EEPROM.read(ee++);}
template <class T> void eePut(int ee,T& value){
const byte* p=(const byte*)(const void*)&value;
unsigned int i;
for(i=0;i<sizeof(value);i++)
EEPROM.write(ee++,*p++);}
And for the i2c AT24Cxx external eeprom I use the uEEPROMLib.