?? 668si2c.h
字號(hào):
/*
從方式的668硬件I2C,文件名668SI2C.C
使用:使用前要先開中斷:總中斷EA和I2C中斷ES1,其中斷入口地址為2BH;
若是從接收,則循環(huán)調(diào)用RcvByte()接收字節(jié)數(shù)據(jù),直至總線結(jié)束/重啟;
若是從發(fā)送,則循環(huán)調(diào)用SendByte()發(fā)送數(shù)據(jù),直至接收到非應(yīng)答信號(hào);
為了防止從器件因總線出錯(cuò)而死機(jī),可用定時(shí)器實(shí)現(xiàn)超時(shí)處理。
*/
/*當(dāng)狀態(tài)字S1STA為0X60時(shí),是總線對(duì)從器件寫操作;若為0XA8則是對(duì)從器件讀操作*/
#define WRSLA 0X60
#define RDSLA 0XA8
/*****************************************************************
設(shè)置總線
函數(shù)原型: void SetBus(unsigned char addr)
描述:用于設(shè)置I2C控制寄存器,包括總線時(shí)鐘速率及從地址.
從地址為addr,不接受廣播地址.
*****************************************************************/
extern void SetBus(unsigned char addr);
/***************************************************************
發(fā)送字節(jié)數(shù)據(jù)
函數(shù)原型:bit SendByte(uchar c)
描述:向總線發(fā)送數(shù)據(jù)c,當(dāng)接收到非應(yīng)答位時(shí)返回0,否則返回1;
***************************************************************/
extern bit SendByte(unsigned char c);
/***************************************************************
接收字節(jié)數(shù)據(jù)
函數(shù)原型:bit RcvByte(uchar *c)
描述:讀取總線傳來的字節(jié)數(shù)據(jù)并發(fā)送應(yīng)答位,正常接收返回1(此時(shí)讀入的
數(shù)據(jù)寫入變量c),接收到總線結(jié)束信號(hào)或重新啟動(dòng)總線信號(hào)時(shí)返回0(此時(shí)不
破壞變量c的數(shù)據(jù))。
***************************************************************/
extern bit RcvByte(unsigned char *c);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -