?? ti2c1.c.svn-base
字號:
/**
*
* This file is related to video chip soft I2C function
* Application : DPTV
* MCU : TMP91CU27UG-9999
* Main Clock : fc=27MHz
*
* Copyright (C) Trident Multimedia Technologies (Shanghai) Co., Ltd.
* 2005 All rights reserved.
* Revision:
* 12/10/2005 Created by Lewis, Archie
*/
#include "tdefs.h"
#include "tio.h"
#include "C91Cx27U.h"
#include "tvapi.h"
static Void I2CDelay1(Void)
{
BYTE uc = 0x01;
while(uc --);
}
/**
* Send SCL via I2C bus.
*
* @param (Byte) ucState's value is 0 or 1.
*
* @return None.
*
* @see tdI2CSCL
*/
Void tdI2CSCL1(Byte state)
{
// HI2C_SCL_OUTMODE;
I2CDelay1();
if(state)
{
HI2C_SCL_SET;
}
else
{
HI2C_SCL_CLR;
}
}
/**
* Send SDA via I2C bus.
*
* @param (Byte) bState's value is 0 or 1.
*
* @return None.
*
* @see tdI2CSDA
*/
Void tdI2CSDA1(Byte state)
{
// HI2C_SDA_OUTMODE;
I2CDelay1();
if(state)
{
HI2C_SDA_SET;
}
else
{
HI2C_SDA_CLR;
}
}
/**
* Read SDA via I2C bus.
*
* @param None.
*
* @return (byte).
*
* @see tdI2CReadSDA
*/
Byte tdI2CReadSDA1(Void)
{
Bool bReceive;
// HI2C_SDA_INMODE;
I2CDelay1();
g_p6_buf = P6;
if(g_p6_buf & 0x02) //HI2C_SDA_ISTRUE)
bReceive = _TRUE_;
else
bReceive = _FALSE_;
return bReceive;
}
Byte tdI2CReadSCL1(Void)
{
Bool bReceive;
HI2C_SCL_INMODE;
I2CDelay1();
g_p6_buf = P6;
if(g_p6_buf & 0x04)
bReceive = _TRUE_;
else
bReceive = _FALSE_;
HI2C_SCL_OUTMODE;
return bReceive;
}
Void tdI2COpen1(Void)
{
HI2C_ALL_OUTMODE;
HI2C_SDA_SET;
HI2C_SCL_SET;
}
Void tdI2CClose1(Void)
{
HI2C_ALL_INMODE;
}
Void tdI2CEnableSDAIn1(Void)
{
HI2C_SDA_INMODE;
}
Code FNSOFTIIC c_fnSoftI2C1 =
{
tdI2COpen1,
tdI2CSDA1,
tdI2CSCL1,
tdI2CReadSDA1,
tdI2CReadSCL1,
tdI2CClose1,
tdI2CEnableSDAIn1
};
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -