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 + -
显示快捷键?