ci2c.h

来自「这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,」· C头文件 代码 · 共 101 行

H
101
字号
/******************************************************************************  CI2C.h : Implementation of the I2C interface*  REALmagic Quasar Hardware Library*  Created by Aurelia Popa-Radu*  Copyright Sigma Designs Inc*  Sigma Designs Proprietary and confidential*  Created on 8/27/99*  Description:*****************************************************************************/#ifndef __CI2C_H__#define __CI2C_H__#ifdef __cplusplusextern "C" {#endif#include "cobject.h"//////////////////////////////////////////////////////////////////////////////// CI2C Implementationtypedef struct tagI2CPARAMS{	DWORD m_dwData0;		/* value "0" for I2C_data */\	DWORD m_dwData1;		/* value "1" for I2C_data */\	DWORD m_dwClock0;		/* value "0" for I2C_clock */\	DWORD m_dwClock1;		/* value "1" for I2C_clock */\	DWORD m_dwDataIN;		/* set input direction for I2C_data */\	DWORD m_dwDataOUT;		/* set output direction for I2C_data */\	DWORD m_dwClkIN;		/* set input direction for I2C_clock */\	DWORD m_dwClkOUT;		/* set output direction for I2C_clock */\} I2CPARAMS;#define CI2C_MEMBER\	II2CVtbl VTableI2C;		/* virtual table */\	ISetI2CpIO* pISetI2CpIO;\	int m_bDelay;			/* some devices need delay for I2c cycle */\	BYTE m_bI2cWriteAddr;	/* I2c write address for device */\	BYTE m_bI2cReadAddr;	/* I2c read address for device */\	DWORD m_dwData0;		/* value "0" for I2C_data */\	DWORD m_dwData1;		/* value "1" for I2C_data */\	DWORD m_dwClock0;		/* value "0" for I2C_clock */\	DWORD m_dwClock1;		/* value "1" for I2C_clock */\	DWORD m_dwDataIN;		/* set input direction for I2C_data */\	DWORD m_dwDataOUT;		/* set output direction for I2C_data */\	DWORD m_dwClkIN;		/* set input direction for I2C_clock */\	DWORD m_dwClkOUT;		/* set output direction for I2C_clock */\	PROPERTY_ITEM I2CPropertyList[eI2cMax];\typedef struct tagCI2CMember{	COBJECT_MEMBER	CI2C_MEMBER} CI2CMember;typedef struct tagCI2C{	struct tagII2CVtbl *lpVtbl;	COBJECT_MEMBER	CI2C_MEMBER} CI2C;///////////////////////////////////////////////////////////////////////////////// public interfacevoid CI2C__New ( CI2C** ppIC2C, TCHAR *pName, BOOL bAllocate, DWORD dwInstance);void CI2C__I2C( II2C* pII2C, BOOL clock, BOOL data );void CI2C__I2CR( II2C* pII2C, BOOL clock);void CI2C__I2CStart( II2C* pII2C );void CI2C__I2CStop( II2C* pII2C );BOOL CI2C__I2CAck( II2C* pII2C );void CI2C__I2CByte( II2C* pII2C, BYTE b );BYTE CI2C__I2CRead( II2C* pII2C );void CI2C__Delete( II2C* pII2C, BOOL bDeleteObject);void CI2C__Init ( II2C* pII2C );BOOL CI2C__Write( II2C* pII2C, BYTE adr, BYTE* pData, int n );BOOL CI2C__Read( II2C* pII2C, BYTE adr, BYTE* pData, int n );BOOL CI2C__Write_NoSubAddr( II2C* pII2C, BYTE* pData, int n );BOOL CI2C__Read_NoSubAddr( II2C* pII2C, BYTE* pData, int n );void CI2C__SetI2CAddress( II2C* pII2C, BYTE WriteAddr, BYTE ReadAddr, int bDelay);void CI2C__InitPropertySet(II2C* pII2C, void* pPropSet, DWORD dwSize);#if defined EM85XX_OBJECT// specific code for Jaspervoid CEM85xxI2C__Init ( II2C* pII2C );BOOL CEM85xxI2C__Write( II2C* pII2C, BYTE adr, BYTE* pData, int n );BOOL CEM85xxI2C__Read( II2C* pII2C, BYTE adr, BYTE* pData, int n );BOOL CEM85xxI2C__Write_NoSubAddr( II2C* pII2C, BYTE* pData, int n );BOOL CEM85xxI2C__Read_NoSubAddr( II2C* pII2C, BYTE* pData, int n );#endif#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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