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);