iic24c0x.h

来自「通用的24C02/4/8的C语言程序」· C头文件 代码 · 共 45 行

H
45
字号
//=======================================================================================
// 此程序用于对24C02/24C04/24C08的操作
//=======================================================================================

//=======================================================================================
// 24C02/24C04/24C08 Device Address
//        D7  D6  D5  D4   D3  D2  D1  D0
// 24C02:  1   0   1   0   A2  A1  A0  R/W
// 24C04:  1   0   1   0   A2  A1  P0  R/W
// 24C08:  1   0   1   0   A2  P1  P0  R/W
//=======================================================================================

#ifdef   __IIC24C0x_h__
   #define  I2C_EXT
#else
   #define  I2C_EXT   extern
#endif

#define  _24C04
//Addressing Pin(A2,A1,A0) be connected to GND.

#ifdef _24C02
	#define  E2PROM_No1_ADDR     0xA0      //default: WRITE command
	#define  E2PROM_No2_ADDR     0xA2      //default: WRITE command
#endif
#ifdef _24C04
	#define  E2PROM_No1_ADDR     0xA0      //default: WRITE command
	#define  E2PROM_No2_ADDR     0xA4      //default: WRITE command
#endif

//Declare Function
I2C_EXT void delay(INT16U count);
I2C_EXT void I2C_init(void);
I2C_EXT void I2C_start(void);
I2C_EXT void I2C_stop(void);
I2C_EXT C51_BOOLEAN I2C_sendByte(INT8U I2C_data);
I2C_EXT INT8U I2C_receiveByte(void);
I2C_EXT void I2C_issue_add(INT8U chipAdd,INT16U subAdd);
I2C_EXT void I2C_write_block(INT8U chipAdd,INT16U S_add,INT8U n_buf,INT8U *buf);
I2C_EXT void I2C_read_block(INT8U chipAdd,INT16U S_add,INT8U n_buf,INT8U *buf);

//=======================================================================================
//                           End of file.
//=======================================================================================

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?