www.pudn.com > LPT_I2C_ADuC.rar > I2C_PROTOCOL.h
/****************************************************************************
*
* File: I2C_PROTOCOL.h
*
* Author: Fiberxon(Jack Zhou)
*
* Description: Base function of the I2C-LPT accessing with EVB
*
* Time: 2006-Feb-26
*
* version: v1.2 ÖØ´ó¸Ä°æ
****************************************************************************/
typedef unsigned char BYTE;
/************** Static Function Declarations **************/
/************** Global Variable Declarations **************/
extern float I2C_DELAY;
/************** Global Function Declarations **************/
extern void I2C_START(void);
extern void I2C_WRITE_DEVICE_ADDR(BYTE device_addr, BYTE write_read);
extern BOOL I2C_GET_ACK(void);
extern void I2C_WRITE_WORD_ADDR(BYTE rom_addr);
extern BYTE I2C_READ_WORD_VALUE(void);
extern void I2C_SET_NONE_ACK(void);
extern void I2C_STOP(void);
extern void I2C_SET_ACK(void);
extern int I2C_BYTE_READ(BYTE device_addr, BYTE rom_addr);
extern int I2C_TWOBYTE_READ (BYTE device_addr, BYTE rom_addr, BYTE *rom_value0, BYTE *rom_value1);
extern int I2C_EightBYTE_READ (BYTE device_addr, BYTE rom_addr, BYTE *rom_value0, BYTE *rom_value1, BYTE *rom_value2, BYTE *rom_value3,
BYTE *rom_value4, BYTE *rom_value5, BYTE *rom_value6, BYTE *rom_value7);
extern int I2C_FourBYTE_READ (BYTE device_addr, BYTE rom_addr, BYTE *rom_value0, BYTE *rom_value1, BYTE *rom_value2, BYTE *rom_value3);
extern int I2C_PAGE_READ(BYTE device_addr, BYTE *rom_value_arr);
int I2C_BYTEs_WRITE (BYTE device_addr, BYTE rom_StartAddress, int rom_Length, BYTE *rom_value_arr, float T_wait);
extern int I2C_BYTEs_READ (BYTE device_addr, BYTE rom_StartAddress, int rom_Length, BYTE *rom_value_arr);
extern BYTE Get_MOD_DEF0(void);
extern void I2C_WRITE_WORD_VALUE(BYTE rom_value);
extern int I2C_BYTE_WRITE(BYTE device_addr, BYTE rom_addr, BYTE rom_value);
extern int I2C_TWOBYTE_WRITE(BYTE device_addr, BYTE rom_addr, BYTE rom_value1, BYTE rom_value2) ;
extern int I2C_FourBYTE_WRITE(BYTE Device_Address, BYTE rom_StartAddress,
BYTE rom_value1, BYTE rom_value2, BYTE rom_value3, BYTE rom_value4);
extern int I2C_EightBYTE_WRITE(BYTE Device_Address, BYTE rom_StartAddress,
BYTE rom_value1, BYTE rom_value2, BYTE rom_value3, BYTE rom_value4,
BYTE rom_value5, BYTE rom_value6, BYTE rom_value7, BYTE rom_value8);
extern int I2C_PAGE_WRITE (BYTE device_addr, BYTE *rom_value_arr);
extern int I2C_PAGE_READ_2(BYTE device_addr, BYTE rom_addr, BYTE *rom_value_buff, int count) ;
extern int I2C_PAGE_READ_jack (BYTE device_addr, BYTE rom_start_addr, BYTE *rom_value_arr, int count);