日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]/******************************************************************************************* 函數(shù)名稱 :I2C_Delay* 功能描述 :* 參數(shù) : 參數(shù)名稱:輸入/輸出?類型描述** 返回值 :* 作者 :* 創(chuàng)建日期 :2

/******************************************************************************************
* 函數(shù)名稱 :I2C_Delay
* 功能描述 :
* 參數(shù) : 參數(shù)名稱:輸入/輸出?類型描述
*
* 返回值 :
* 作者 :
* 創(chuàng)建日期 :2006-12-19
* 全局變量 :
* 全局靜態(tài)變量:
* 局部靜態(tài)變量:
*----------------------------------------修改歷史------------------------------------------
* 當(dāng)前版本 : 修改人: 修改日期:
* 修改說(shuō)明 :
******************************************************************************************/
voidI2C_Delay(uint32 WaitTime)
{
uint32 uiTemp = WaitTime * small;
while (uiTemp--);
}
/******************************************************************************************
* 函數(shù)名稱 :IO_Write
* 功能描述 :
* 參數(shù) : 參數(shù)名稱:輸入/輸出?類型描述
*
* 返回值 :
* 作者 :
* 創(chuàng)建日期 :2006-12-19
* 全局變量 :
* 全局靜態(tài)變量:
* 局部靜態(tài)變量:
*----------------------------------------修改歷史------------------------------------------
* 當(dāng)前版本 : 修改人: 修改日期:
* 修改說(shuō)明 :
******************************************************************************************/
void IO_Write(uint16 data, uint16 level)
{
switch(data)
{
case I2C_SDA:
{
switch(level)
{
case High:
IO0SET |= I2C_SDA;
I2C_Delay(5);
break;
case Low:
IO0CLR |= I2C_SDA;
I2C_Delay(5);
break;
}
}//end case
break;
case I2C_SCL:
{
switch(level)
{
case High:
IO0SET |= I2C_SCL;
I2C_Delay(5);
break;
case Low:
IO0CLR |= I2C_SCL;
I2C_Delay(5);
break;
}
}//end case
break;
}
}

/******************************************************************************************
* 函數(shù)名稱 :I2C_Stop
* 功能描述 :
* 參數(shù) : 參數(shù)名稱:輸入/輸出?類型描述
*
* 返回值 :
* 作者 :
* 創(chuàng)建日期 :2006-12-19
* 全局變量 :
* 全局靜態(tài)變量:
* 局部靜態(tài)變量:
*----------------------------------------修改歷史------------------------------------------
* 當(dāng)前版本 : 修改人: 修改日期:
* 修改說(shuō)明 :
******************************************************************************************/
voidI2C_Stop(void) // I2C總線操作結(jié)止位發(fā)送
{
IO_Write(I2C_SDA, Low); // SDA = Low

IO_Write(I2C_SCL, High); // SCL = High
I2C_Delay(10);

IO_Write(I2C_SDA, High); // SDA = High
I2C_Delay(5);

IO_Write(I2C_SCL, Low); // SCL = Low
I2C_Delay(5);
}

/******************************************************************************************
* 函數(shù)名稱 :I2C_Start
* 功能描述 :
* 參數(shù) : 參數(shù)名稱:輸入/輸出?類型描述
*
* 返回值 :
* 作者 :
* 創(chuàng)建日期 :2006-12-19
* 全局變量 :
* 全局靜態(tài)變量:
* 局部靜態(tài)變量:
*----------------------------------------修改歷史------------------------------------------
* 當(dāng)前版本 : 修改人: 修改日期:
* 修改說(shuō)明 :
******************************************************************************************/
voidI2C_Start(void)
{
I2C_Stop();
I2C_Delay(5);

IO_Write(I2C_SDA, High);// SDA = High
I2C_Delay(5);

IO_Write(I2C_SCL, High);// SCL = High
I2C_Delay(5);

IO_Write(I2C_SDA, Low); // SDA = Low
I2C_Delay(5);

IO_Write(I2C_SCL, Low);// SCL = Low
I2C_Delay(5);
}

/******************************************************************************************
* 函數(shù)名稱 :I2C_Clock
* 功能描述 :
* 參數(shù) : 參數(shù)名稱:輸入/輸出?類型描述
*
* 返回值 :
* 作者 :
* 創(chuàng)建日期 :2006-12-19
* 全局變量 :
* 全局靜態(tài)變量:
* 局部靜態(tài)變量:
*----------------------------------------修改歷史------------------------------------------
* 當(dāng)前版本 : 修改人: 修改日期:
* 修改說(shuō)明 :
******************************************************************************************/
voidI2C_Clock(void)
{
I2C_Delay(5);// SCL = High-> Low

IO_Write(I2C_SCL, High);// SCL = High
I2C_Delay(5);

IO_Write(I2C_SCL, Low);// SCL = Low
I2C_Delay(2);
}
/******************************************************************************************
* 函數(shù)名稱 :I2C_Clock_Ask
* 功能描述 :
* 參數(shù) : 參數(shù)名稱:輸入/輸出?類型描述
*
* 返回值 :
* 作者 :
* 創(chuàng)建日期 :2006-12-19
* 全局變量 :
* 全局靜態(tài)變量:
* 局部靜態(tài)變量:
*----------------------------------------修改歷史------------------------------------------
* 當(dāng)前版本 : 修改人: 修改日期:
* 修改說(shuō)明 :
******************************************************************************************/
uint8I2C_Clock_Ask(void)
{
uint8Status;

I2C_Delay(5);
IO_Write(I2C_SCL, High);// SCL = High
I2C_Delay(5);

switch ( (IO0PIN&I2C_SDA)&I2C_SDA )
{
case(1<<14):
Status = I2CNoAck;// 返回I2CNoAck
break;

case(0x00):
Status = I2CAck; // 返回I2CAck
break;
}
IO_Write(I2C_SCL, Low);// SCL = Low
I2C_Delay(5);
return(Status);
}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉