?? hi2c_c51.h
字號(hào):
/*******************************************************************
* P89LPC932硬件I2C軟件包(主)
* 1 使用I2C總線軟件包時(shí)P1.2,P1.3切勿寫(xiě)為0,并要設(shè)置為開(kāi)漏輸出。
* 2 總線定義為P1.2=SCL,P1.3=SDA,需外接上拉電阻2-10k。
* 3 相應(yīng)寄存器:
* 地址寄存器 I2ADR 用于存放自身從地址(從方式時(shí)才有用)
* 數(shù)據(jù)寄存器 I2DAT 接收/發(fā)送數(shù)據(jù)用
* 控制寄存器 I2CON 用于硬件I2C的設(shè)置、使能、啟動(dòng)、結(jié)束,
* 應(yīng)答控制,中斷標(biāo)志等。
* 狀態(tài)寄存器 I2STAT 指示I2C總線的操作狀態(tài)碼,高5位有效,
* 若I2C中斷志置位,可查詢此寄存器判斷
* 總線情況。
* SCL占空比寄存器 I2SCLH、I2SCLL 設(shè)置SCL的頻率發(fā)生。
*
* 此軟件包是以查詢方式完成各種總線操作的,在使用前應(yīng)對(duì)總線進(jìn)行檢查,并
*使用看門(mén)狗,以防等待總線而造成死機(jī)。
* 文件名:HI2C_C51.H
* 更新時(shí)間:2002.11.05
*******************************************************************/
#ifndef HI2C_C51_H
#define HI2C_C51_H
#ifdef uchar
#define READYDEF 1 /*宏uchar已定義*/
#else
#define uchar unsigned char
#endif
/*軟件包接口函數(shù),其中adr為器件的從地址,suba為器件子地址*/
/*******************************************************************
向無(wú)子地址器件發(fā)送字節(jié)數(shù)據(jù)函數(shù)
描述: 從啟動(dòng)總線到發(fā)送地址,數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件地址sla,
待發(fā)送的數(shù)據(jù)c,如果返回1表示操作成功,否則操作有誤。
********************************************************************/
extern bit ISendByte(uchar sla,uchar c);
/*******************************************************************
向有子地址器件發(fā)送多字節(jié)數(shù)據(jù)函數(shù)
描述: 從啟動(dòng)總線到發(fā)送地址,子地址,數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件
地址sla,子地址suba,發(fā)送內(nèi)容是s指向的內(nèi)容,發(fā)送no個(gè)字節(jié)。
如果返回1表示操作成功,否則操作有誤。
********************************************************************/
extern bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) ;
/*******************************************************************
向無(wú)子地址器件讀字節(jié)數(shù)據(jù)函數(shù)
描述: 從啟動(dòng)總線到發(fā)送地址,讀數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件地
址sla,返回值在c.
如果返回1表示操作成功,否則操作有誤。
********************************************************************/
extern bit IRcvByte(uchar sla,uchar *c);
/*******************************************************************
向有子地址器件讀取多字節(jié)數(shù)據(jù)函數(shù)
描述: 從啟動(dòng)總線到發(fā)送地址,子地址,讀數(shù)據(jù),結(jié)束總線的全過(guò)程,從器件
地址sla,子地址suba,讀出的內(nèi)容放入s指向的存儲(chǔ)區(qū),讀no個(gè)字節(jié)。
如果返回1表示操作成功,否則操作有誤。
********************************************************************/
extern bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no);
#ifndef READYDEF
#undef uchar
#endif
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -