<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          LPC2200的I2C從模式

          作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          最近使用LPC2214的I2C總線,一開始使用PHILIPS感覺非常的不方便,因為他要從其狀態(tài)中讀出數(shù)值進(jìn)行判斷,這樣做無形中要增加軟件難度,但是其寄存器確是非常的簡單,只有一個要仔細(xì)的看,那就是I2CONSET這一個。

          對于從模式,AA當(dāng)然要設(shè)置為1,I2ADR也一定要設(shè)置,這是主器件尋址的地址;在此設(shè)為0x98,最后一位表示廣播模式,根據(jù)情況要不要置一;這里還有一個重要的是VPBDIV的設(shè)置,注意VPBDIV與I2SCLH、I2SCLL這兩寄存器要匹配,否則I2C總線則可能不工作,這是比較容易犯錯誤的地方,下面是我的一些程序與設(shè)置,希望做個參考,也希望我以后用起來也方便,因為如果長時間不用,總是要再查一次資料,那樣浪費很多時間

          本文引用地址:http://www.ex-cimer.com/article/201611/316610.htm

          一、初始化部分

          void I2cInit()
          {

          VPBDIV=0x01;

          //在前面要有上面這句
          I2cFlag=0x00;
          I2cNum=0x00;
          I2cBuf=databuf; //databuf是一個要存貯數(shù)據(jù)的數(shù)組
          I2cSla=LPC934CONGADD; //No Use.
          I2ADR=LPC2000CONGADD;
          I2SCLH=0xa0;
          I2SCLL=0xa0;
          I2CONSET=0x44; //使能I2C,
          VICIntSelect=0x00000000;
          VICVectCntl2=0x00000029;
          VICVectAddr2=(uint32)IRQ_I2C;
          VICIntEnable=0x00004210; //中斷部分。
          }

          二、中斷程序部分

          void IRQ_I2C(void) __irq
          {
          unchar sta;
          sta=I2STAT; //查詢狀態(tài)。

          switch(sta)
          {
          case 0x60:
          case 0x68:
          case 0x70:
          case 0x78: //I2C開始,把讀數(shù)據(jù)的數(shù)組等初始化。
          I2cBuf=databuf;
          I2cNum=0x00;
          I2cFlag=0;
          break;
          case 0x80:
          case 0x88:
          case 0x90:
          case 0x98:
          *I2cBuf++=I2DAT; //這幾種狀態(tài)是讀數(shù)據(jù),無論廣播還是尋址。
          I2cNum++;
          break;
          case 0xa0:
          I2cFlag=1; //結(jié)束,設(shè)置I2C成功接收標(biāo)志。
          break;

          }
          I2CONCLR=0x28;
          VICVectAddr=0x00; //清SI,清中斷。
          }

          以上就是我把LPC2214做為從機(jī)的設(shè)置。



          關(guān)鍵詞: LPC2200I2C從模

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();