AT24c02.h 1.4 KB
#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_