Rev 193 Rev 195
1 // EEPROM.C - knihovna pro pohodlny zapis a cteni promennych do a z pameti 1 // EEPROM.C - knihovna pro pohodlny zapis a cteni promennych do a z pameti
2 // EEPROM a to pro ruzne typy promennych. 2 // EEPROM a to pro ruzne typy promennych.
3 // 3 //
4 // (c)miho 2002 4 // (c)miho 2002
5 // 5 //
6 // Historie: 6 // Historie:
7 // 7 //
8 // 0.00 Uvodni verze 8 // 0.00 Uvodni verze
9 // 0.01 Formalni zmena 9 // 0.01 Formalni zmena
10   10  
11   11  
12 // Priklad: 12 // Priklad:
13 // 13 //
14 // int32 MyInt; // deklarace typu (libovolne delky) 14 // int32 MyInt; // deklarace typu (libovolne delky)
15 // EE_WR(10, MyInt); // zapis promenne MyInt do EEPROM od adresy 10 15 // EE_WR(10, MyInt); // zapis promenne MyInt do EEPROM od adresy 10
16 // EE_RD(10, MyInt); // zpetne nacteni promenne MyInt z EEPROM 16 // EE_RD(10, MyInt); // zpetne nacteni promenne MyInt z EEPROM
17 // 17 //
18   18  
19   19  
20 // Makro pro jednotne ukladani a vybirani dat (promennych) do a z pameti EEPROM 20 // Makro pro jednotne ukladani a vybirani dat (promennych) do a z pameti EEPROM
21 // 21 //
22 #define EE_WR(EEAddress, Data) EE_Write(EEAddress, &Data, sizeof(Data)) 22 #define EE_WR(EEAddress, Data) EE_Write(EEAddress, &Data, sizeof(Data))
23 #define EE_RD(EEAddress, Data) EE_Read (EEAddress, &Data, sizeof(Data)) 23 #define EE_RD(EEAddress, Data) EE_Read (EEAddress, &Data, sizeof(Data))
24   24  
25   25  
26 // Ulozeni promenne do pameti EEPROM 26 // Ulozeni promenne do pameti EEPROM
27 // 27 //
28 void EE_Write(int EEAddress, DataPtr, Len) 28 void EE_Write(int EEAddress, DataPtr, Len)
29 { 29 {
30 do 30 do
31 write_eeprom(EEAddress++, *DataPtr++); 31 write_eeprom(EEAddress++, *DataPtr++);
32 while (--Len); 32 while (--Len);
33 } 33 }
34   34  
35   35  
36 // Nacteni promenne z pameti EEPROM 36 // Nacteni promenne z pameti EEPROM
37 // 37 //
38 void EE_Read(int EEAddress, DataPtr, Len) 38 void EE_Read(int EEAddress, DataPtr, Len)
39 { 39 {
40 do 40 do
41 *DataPtr++ = read_eeprom(EEAddress++); 41 *DataPtr++ = read_eeprom(EEAddress++);
42 while (--Len); 42 while (--Len);
43 } 43 }