C51單片機(jī)模擬I2C總線驅(qū)動(dòng)程序設(shè)計(jì)(2)
函數(shù)名:uchar I2C_RcvB()
入口:
出口:uchar 型數(shù)據(jù)
功能描述:
接收從器件傳來的數(shù)據(jù),并判斷總線錯(cuò)誤(不發(fā)應(yīng)答信號(hào)),收完后需要調(diào)用應(yīng)答函數(shù)。
調(diào)用函數(shù):
全局變量:
*******************************************************************************
uchar I2C_RcvB()
{
}
/************************************ I2C_Ackn ********************************
函數(shù)名:void I2C_Ackn(bit a)
入口:0 或 1
出口:
功能描述:主控制器進(jìn)行應(yīng)答信號(hào)(可以是應(yīng)答或非應(yīng)答信號(hào))
說明:作為接收方的時(shí)候,必須根據(jù)當(dāng)前自己的狀態(tài)向發(fā)送器反饋應(yīng)答信號(hào)
調(diào)用函數(shù):
全局變量:
*******************************************************************************
void I2C_Ackn(bit a)
{
}
/******************************** I2C_ISendB **********************************
函數(shù)名:bit I2C_ISendB(uchar sla, uchar suba,uchar c)
入口:從器件地址 sla,子地址 suba, 發(fā)送字節(jié) c
出口:0(操作有誤),1(操作成功)
功能描述:從啟動(dòng)總線到發(fā)送地址、數(shù)據(jù),結(jié)束總線的全過程,
調(diào)用函數(shù):I2C_Start(),I2C_SendB(uchar c),I2C_Stop()
全局變量:I2C_Ack
*******************************************************************************
bit I2C_ISendB(uchar sla, uchar suba, uchar c)
{
}
/********************************** I2C_IRcvB *********************************
函數(shù)名:bit I2C_IRcvB(uchar sla, uchar suba, uchar *c)
入口:從器件地址 sla, 子地址 suba, 收到的數(shù)據(jù)在 c
出口:1(操作成功),0(操作有誤)
功能描述:從啟動(dòng)總線到發(fā)送地址、讀數(shù)據(jù),結(jié)束總線的全過程。
調(diào)用函數(shù):
I2CS_tart(),
I2C_SendB(uchar c),
I2C_RcvB(),
I2C_Ackn(bit a),
I2C_Stop()
全局變量:I2C_Ack
*******************************************************************************
bit I2C_IRcvB(uchar sla, uchar suba, uchar *c)
{
}
評(píng)論