⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysi2cdrv.h

📁 LoPEC Early Access VxWorks BSP
💻 H
字号:
/* sysI2cDrv.h - I2C Driver Header Module *//* Copyright 1984-2001 Wind River Systems, Inc. *//* Copyright 1996,1997-2001 Motorola, Inc. All Rights Reserved *//*modification history--------------------01c,12jan01,djs  changes and cleanup related to SPD01b,13dec00,djs  removed refecences to mv210001a,02nov00,djs  created based on 01b,28may99,dmw mv2100*//*DESCRIPTIONI2C Driver Header Module*/#ifndef	INCsysI2cDrvh#define	INCsysI2cDrvh/* device types */#define I2C_DEVICE_TYPE_EEPROM	0/* driver device data template (os + driver-specifics) */typedef struct i2cDev     {    unsigned int deviceAddress;	/* address of the I2C device */    int deviceType;		/* device type: 0 = EEPROM, 1 = other */    unsigned int blockSize;	/* logical block size in bytes */    unsigned int blockOffset;	/* logical block offset from zero of start */    unsigned int blockTotal;	/* number of logical blocks from offset */    unsigned int controlAddress;	/* controller address */    unsigned int pageSize;	/* page size in number of blocks */    unsigned int controlWord;	/* control word */    unsigned int sysClkRate;	/* system clock rate */    }     i2cDev_t;/* driver command packet */typedef struct i2cCmdPckt     {    int command;		/* command identifier */    int status;			/* status (error code) */    unsigned int memoryAddress;	/* memory address */    unsigned int blockNumber;	/* block number */    unsigned int nBlocks;	/* number of blocks (bytes) to transfer */    unsigned int eCount;	/* expected data count */    unsigned int aCount;	/* actual data count */    }     i2cCmdPckt_t;/* command identifiers */#define I2C_READOP	0	/* read operation */#define I2C_WRITOP	1	/* write operation */#define I2C_FRMTOP	2	/* format operation */#define I2C_CHCKOP	3	/* check operation */#define I2C_BYTE_NUM_MASK	0x700#define I2C_BYTE_NUM_SHIFT	7/* routine call macros *//* * Note: this driver could dynamically assign function pointers * but ROM based switch statements are not permitted so the  * function pointers are set here for the specific board BSP. */#define I2C_CYCLE_START(rpt)	i2cCycleMpc107Start(rpt)#define I2C_CYCLE_STOP(rpt)	i2cCycleMpc107Stop(rpt)#define I2C_CYCLE_READ(ad)	i2cCycleMpc107Read(ad)#define I2C_CYCLE_WRITE(wd)	i2cCycleMpc107Write(wd)#define I2C_CYCLE_ACKIN		i2cCycleMpc107AckIn()#define I2C_CYCLE_ACKOUT	i2cCycleMpc107AckOut()#define I2C_KNOWN_STATE		i2cCycleMpc107KnownState()#define I2C_DELAY(d)		i2cCycleMpc107Delay(d)/* error codes */#define I2C_ERROR_CYCLE_START	1	/* start cycle */#define I2C_ERROR_CYCLE_STOP	2	/* stop cycle */#define I2C_ERROR_CYCLE_READ	3	/* read cycle */#define I2C_ERROR_CYCLE_WRITE	4	/* write cycle */#define I2C_ERROR_CYCLE_ACKIN	5	/* acknowledge in cycle */#define I2C_ERROR_CYCLE_ACKOUT	6	/* acknowledge out cycle */#define I2C_ERROR_KNOWN_STATE	7	/* known state */#define I2C_ERROR_CYCLE_TIMEOUT	(1<<16)	/* cycle timed out */#endif /* INCsysI2cDrvh */

⌨️ 快捷键说明

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