在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > I2C總線注意要點

        I2C總線注意要點

        作者: 時間:2016-12-15 來源:網(wǎng)絡 收藏
        1、只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL。


        本文引用地址:http://www.biyoush.com/article/201612/330279.htm

        2、每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機/從機關系軟件設定地址,主機可以作為主機發(fā)送器或主機接收器。

        3、在傳輸數(shù)據(jù)的時候,SDA線必須在時鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL線的時鐘信號是低電平時才能改變。


        4、SCL線是高電平時,SDA線從高電平向低電平切換,這個情況表示起始條件。

        5、SCL線是高電平時,SDA線由低電平向高電平切換,這個情況表示停止條件。


        6、數(shù)據(jù)傳輸必須帶響應,相關的響應時鐘脈沖由主機產生。在響應的時鐘脈沖期間發(fā)送器釋放SDA線(高)。響應的時鐘脈沖期間,接收器必須將SDA線拉低,使它在這個時鐘脈沖的高電平期間保持穩(wěn)定的低電平。


        7、第一個字節(jié)的頭7位組成了從機地址,最低位(LSB)是第8位,它決定了傳輸?shù)姆较颉5谝粋€字節(jié)的最低位是“0”,表示主機會寫信息到被選中的從機;“1”表示主機會向從機讀信息,當發(fā)送了一個地址后,系統(tǒng)中的每個器件都在起始條件后將頭7位與它自己的地址比較,如果一樣,器件會判定它被主機尋址,至于是從機接收器還是從機發(fā)送器,都由R/W位決定的。

        voidI2C_delay(void)

        {

        u8i=200;

        while(i)

        {

        i--;

        }

        }

        voidI2C_Start(void)

        {

        SDA_H;

        I2C_delay();

        SCL_H;//SCL線是高電平時,SDA線從高電平向低電平切換,總線開始

        I2C_delay();

        SDA_L;

        I2C_delay();

        SCL_L;

        I2C_delay();

        }

        voidI2C_Stop(void)

        {

        SDA_L;

        I2C_delay();

        SCL_H;//SCL線是高電平時,SDA線由低電平向高電平切換,總線結束。

        I2C_delay();

        SDA_H;

        I2C_delay();

        }

        //等待ACK應答

        voidWaitACK1(void)

        {

        u8errtime=225;

        SDA_IN();//設置SDA端口為輸入模式

        I2C_delay();

        SCL_H;

        I2C_delay();

        while(SDA_read)//SCL拉高后,等待SDA被拉低(ACK)

        {

        errtime--;

        if(errtime==0)

        {

        I2C_Stop();

        SDA_OUT();

        break;

        }

        }

        SCL_L;

        SDA_OUT();

        I2C_delay();

        }

        //寫入單字節(jié)數(shù)據(jù)

        voidWritebyte(unsignedcharData)

        {

        unsignedchari;

        for(i=0;i<8;i++)

        {

        if((Data<

        {

        SDA_H;

        }

        else

        {

        SDA_L;

        }

        I2C_delay();

        SCL_H;

        I2C_delay();

        SCL_L;

        }

        SDA_L;

        I2C_delay();

        WaitACK1();

        I2C_delay();

        }



        關鍵詞: I2C總線注意要

        評論


        技術專區(qū)

        關閉
        ×

        “芯”朋友见面大会
        珠海|11.14|泰克“芯”朋友见面大会珠海站|泰克带您从测试角度看半导体的整条产业链,快来报名抢位吧>>