forked from hjd1964/OnStep
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEEProm.ino
52 lines (46 loc) · 1.25 KB
/
EEProm.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// -----------------------------------------------------------------------------------
// EEPROM related functions
// write int numbers into EEPROM at position i (2 bytes)
void EEPROM_writeInt(int i,int l) {
byte *lPtr;
lPtr = (byte*)&l;
EEPROM.write(i+0,*lPtr); lPtr++;
EEPROM.write(i+1,*lPtr);
}
// read int numbers from EEPROM at position i (2 bytes)
int EEPROM_readInt(int i) {
int l;
byte *lPtr;
lPtr = (byte*)&l;
*lPtr=EEPROM.read(i+0); lPtr++;
*lPtr=EEPROM.read(i+1);
return l;
}
// write 4 byte variable into EEPROM at position i (4 bytes)
void EEPROM_writeQuad(int i,byte *v) {
EEPROM.write(i+0,*v); v++;
EEPROM.write(i+1,*v); v++;
EEPROM.write(i+2,*v); v++;
EEPROM.write(i+3,*v);
}
// read 4 byte variable from EEPROM at position i (4 bytes)
void EEPROM_readQuad(int i,byte *v) {
*v=EEPROM.read(i+0); v++;
*v=EEPROM.read(i+1); v++;
*v=EEPROM.read(i+2); v++;
*v=EEPROM.read(i+3);
}
// write String into EEPROM at position i (16 bytes)
void EEPROM_writeString(int i,char l[]) {
int l1;
for (l1==0; l1<16; l1++) {
EEPROM.write(i+l1,*l); l++;
}
}
// read String from EEPROM at position i (16 bytes)
void EEPROM_readString(int i, char l[]) {
int l1;
for (l1==0; l1<16; l1++) {
*l=EEPROM.read(i+l1); l++;
}
}