<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > LPC2200的I2C從模式

LPC2200的I2C從模式

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

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

本文引用地址:http://dyxdggzs.com/article/201611/316610.htm

一、初始化部分

void I2cInit()
{

VPBDIV=0x01;

//在前面要有上面這句
I2cFlag=0x00;
I2cNum=0x00;
I2cBuf=databuf; //databuf是一個(gè)要存貯數據的數組
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; //查詢(xún)狀態(tài)。

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

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

以上就是我把LPC2214做為從機的設置。



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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>