HT68F30控制5150 IIC控制总线
生活随笔
收集整理的這篇文章主要介紹了
HT68F30控制5150 IIC控制总线
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、關(guān)于應(yīng)答信號的一點知識
數(shù)據(jù)傳輸與應(yīng)答信號ACK 發(fā)送到SDA線上的數(shù)據(jù)必須是8位的。每次傳輸可以發(fā)送的數(shù)據(jù)不受限制。每個字節(jié)后必須在時鐘的第9個脈沖期間釋放數(shù)據(jù)總線(SDA為高), 由接收器發(fā)送一個ACK(把數(shù)據(jù)總線的電平拉低)來表示數(shù)據(jù)成功接收。 IIC總線應(yīng)答信號、主機(jī)拉高、釋放總線、如果從機(jī)拉底表示有應(yīng)答、如果從機(jī)不拉低、表面沒有應(yīng)答
void CheckACK(void) { unsigned short i=200;SDAC=0;SDA=1;// 先由主機(jī)把數(shù)據(jù)線拉高釋放總線 再去檢測數(shù)據(jù)線的電平高低SDAC=1; //Config SDAC as InputSCL=1; _delay(10); //Set SCL=1, Delay 10uswhile(i--){Test_Pc4C=0; //如果從機(jī)應(yīng)答的話把這個引腳電平拉高Test_Pc4=1; if(!SDA) {//DeviceFlag=1; _tmpc0=0;//取消PC5引腳的復(fù)用功能Test_Pc5C=0; //如果從機(jī)應(yīng)答的話把這個引腳電平拉高Test_Pc5=1;break;} //Break if Device Respounding_delay(100);//200*100uS=2ms Waiting Time} SCL=0; _delay(10); //Set SCL=0, Delay 10us }總結(jié)
以上是生活随笔為你收集整理的HT68F30控制5150 IIC控制总线的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10系统能做域服务器吗,Win10
- 下一篇: lol最克制诺手的英雄_LOL:哪些英雄