📄 hi_i2c.h
字号:
#ifndef __HI_INC_I2C_H__#define __HI_INC_I2C_H__#define I2C_BASE 0x101F6000#define I2C_RATE 30000#define I2C_CLK (AHB_CLOCK)/* IIC registers */#define IIC_CON (I2C_BASE+0x00) /*IIC control reg*/#define IIC_TAR (I2C_BASE+0x04) /*slave chip address reg*/#define IIC_HCNT (I2C_BASE+0x14)#define IIC_LCNT (I2C_BASE+0x18)#define IIC_HS_HCNT (I2C_BASE+0x1C)#define IIC_HS_LCNT (I2C_BASE+0x20)#define IIC_INTR_MASK (I2C_BASE+0x30) /*interrupt mask reg*/#define IIC_INTR_STAT (I2C_BASE+0x2C) /*interrupt status reg*/#define IIC_ENABLE (I2C_BASE+0x6C) /*IP enable*/#define IIC_DATA_CMD (I2C_BASE+0x10) /*IIC TX FIFO*/#define IIC_TXFIFO_FLAG (I2C_BASE+0x74) /*indicate TXFIFO level*/#define IIC_RXFIFO_FLAG (I2C_BASE+0x78) /*indicate RXFIFO level*/#define IIC_STATUS (I2C_BASE+0x70) /*IP status flag reg*/#define IIC_RAW_INTSTATUS (I2C_BASE+0x34)#define IIC_CLR_INTR (I2C_BASE+0x40) /*clear combined and individual interrupt*/#define IIC_CLR_TX_ABRT (I2C_BASE+0x54) /*clear RT abrt interrupt reg*/#define IIC_CLR_STOPDET (I2C_BASE+0x60) /*clear stop_det interrupt reg*/#define IIC_CLR_TX_OVER (I2C_BASE+0x4C) /*clear tx fifo over interrupt reg*/#define IIC_CLR_RX_ABRT (I2C_BASE+0x80) /*clear RX abrt interrupt reg*/#define TIMECOUNT 0x10000#define CONTROL_VALUE 0x0023/* Register read macro definition */#ifndef IIC_REG_READ#define IIC_REG_READ(reg,result) \ ((result) = *(volatile unsigned int*)(reg))#endif /* Register write macro definition */#ifndef IIC_REG_WRITE#define IIC_REG_WRITE(reg,data) \ (*((volatile unsigned int*)(reg)) = (data))#endifstruct i2c_client { char name[32]; int id; unsigned int flags; unsigned int addr; void *data; };void I2C_Init (void);unsigned char I2C_Read(struct i2c_client *pstClient, unsigned char u8Address);int I2C_Write(struct i2c_client *client, unsigned char u8Address, unsigned char u8Data);unsigned char I2C_SerialRead(unsigned char u8DevAddress, unsigned char u8Address);int I2C_SerialWrite(int devAddress, int address, int data);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -