1: #include <EEPROM.h>
2: #include <Arduino.h> // for type definitions
3:
4: template <class T> int EEPROM_writeAnything(int ee, const T& value)
5: {
6: const byte* p = (const byte*)(const void*)&value;
7: unsigned int i;
8: for (i = 0; i < sizeof(value); i++)
9: EEPROM.write(ee++, *p++);
10: return i;
11: }
12:
13: template <class T> int EEPROM_readAnything(int ee, T& value)
14: {
15: byte* p = (byte*)(void*)&value;
16: unsigned int i;
17: for (i = 0; i < sizeof(value); i++)
18: *p++ = EEPROM.read(ee++);
19: return i;
20: }
21:
22: template <class T> int EEPROM_resetAnything(int ee, const T& value)
23: {
24: const byte* p = (const byte*)(const void*)&value;
25: unsigned int i;
26: for (i = 0; i < sizeof(value); i++)
27: EEPROM.write(ee++, 0);
28: return i;
29: }
EEPROMAnything
Abonneren op:
Posts (Atom)
Geen opmerkingen:
Een reactie posten