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

📄 ti2c1.c.svn-base

📁 最新火热的CX32 源代码
💻 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
};

⌨️ 快捷键说明

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