AT24c02.h
1.4 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef _AT24C02_H_
#define _AT24C02_H_
//#define EEPROM_AT24C01
//#define EEPROM_AT24C02
#define EEPROM_AT24C08
//#define EEPROM_AT24C16
#if (defined EEPROM_AT24C01 || defined EEPROM_AT24C02)
//for AT24C01 and at24c02
#define EEPROM_PAGE_SIZE 1
#define EEPROM_PAGE_BYTE 8//8 bytes
#elif defined EEPROM_AT24C04
//for AT24C04
#define EEPROM_PAGE_SIZE 2
#define EEPROM_PAGE_BYTE 16 //16 bytes
#elif defined EEPROM_AT24C08
//for AT24C08
#define EEPROM_PAGE_SIZE 4
#define EEPROM_PAGE_BYTE 16 //16 bytes
#elif defined EEPROM_AT24C16
//for AT24C16
#define EEPROM_PAGE_SIZE 8
#define EEPROM_PAGE_BYTE 16 //16 bytes
#endif
#ifdef EEPROM_AT24C01
#define TAG_PADDR 15*8 // 8 Bytes
#endif
#ifdef EEPROM_AT24C02
#define TAG_PADDR 31*8 // 8 Bytes
#endif
void AT24c02_Init(void);
void AT24c02_Open(void);
void AT24c02_Close(void);
U8 AT24c02_ReadPage(BYTE addr, BYTE *pbuf, WORD len);
U8 AT24c02_WritePage(BYTE addr, BYTE *pbuf, WORD len);
U8 AT24c02_Write(BYTE addr, BYTE *pbuf, WORD len);
U8 AT24c02_Read(BYTE addr, BYTE *pbuf, WORD len);
U8 AT24cxx_Write(BYTE addr, BYTE *pbuf, WORD len);
U8 AT24cxx_Read(BYTE addr, BYTE *pbuf, WORD len);
#ifndef EEPROM_DEV
#define EEPROM_DEV_AT24C02 AT24c02_Init, \
AT24c02_Open, \
AT24c02_Close, \
AT24c02_ReadPage, \
AT24c02_WritePage, \
AT24c02_Write, \
AT24c02_Read
#endif
#endif //_AT24C02_H_