<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è) > 嵌入式系統 > 設計應用 > I2C總線(xiàn)學(xué)習—查缺補漏—S3C2440的I2C控制器

I2C總線(xiàn)學(xué)習—查缺補漏—S3C2440的I2C控制器

作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò ) 收藏
學(xué)習了IIC總線(xiàn)協(xié)議的理論部分,覺(jué)得應該學(xué)習具體操作2440的IIC控制器,畢竟最終都是為了學(xué)習S3C2440,所以就把這一部分補上。 S3C2440的I2C接口有四種工作模式:主機發(fā)送器、主機接收器、從機發(fā)送器、從機接收機。其內部結構如下圖所示。
從上圖可以看出,S3C2440提供4個(gè)寄存器來(lái)完成所有的IIC操作。SDA線(xiàn)上的數據從IICDS寄存器經(jīng)過(guò)移位寄存器發(fā)出,或通過(guò)移位寄存器傳入IICDS寄存器;IICADD寄存器中保存S3C2440當做從機時(shí)的地址;IICCON、IICSTAT兩個(gè)寄存器用來(lái)控制或標識各種狀態(tài),比如選擇工作工作模式,發(fā)出S信號、P信號,決定是否發(fā)出ACK信號,檢測是否接收到ACK信號。下面詳細接收各寄存器的用法。

IICCON寄存器IIC-Bus control register

注意事項:
  1. IIC中斷發(fā)生在以下三種情況:當發(fā)出地址信息或接收到一個(gè)從機地址并吻合時(shí),當總線(xiàn)總裁失敗時(shí),當發(fā)送/接收完一個(gè)字節的數據(包括響應位)時(shí)。當發(fā)出地址信息或接收到一個(gè)從機地址并吻合時(shí)產(chǎn)生中斷,在中斷處理函數中要準備發(fā)送或者接收數據,即讀取或設備IICDS寄存器,或者發(fā)出P信號。當總線(xiàn)總裁失敗時(shí)產(chǎn)生中斷,在中斷處理函數中決定時(shí)候延時(shí)后再次競爭總線(xiàn)等。當發(fā)送/接收完一個(gè)字節的數據(包括響應位)時(shí)產(chǎn)生中斷,在中斷處理函數中要準備下次要發(fā)送或者接收數據,即讀取或設備IICDS寄存器,或者發(fā)出P信號。
  2. 基于SDA、SCL線(xiàn)上時(shí)間特性的考慮,要發(fā)送數據時(shí),先將數據寫(xiě)入IICDS寄存器,然后再清除中斷。清除中斷,即向IICCON[4]寫(xiě)入0,也就是將SCL線(xiàn)拉高,此時(shí)產(chǎn)生一個(gè)上升沿,將移位寄存器中的數據發(fā)送到SDA線(xiàn)。至于先將數據寫(xiě)入IICDS寄存器,然后再清除中斷,可能是數據穩定需要一個(gè)時(shí)間吧。在清除中斷前要數據保持問(wèn)的那個(gè)。
  3. 如果IICCON[5]==0,IICCON[4]將不能正常工作。所以,即使不使用IIC中斷,也要將IICCON[5]設為1。

IICSTAT寄存器

IICADD寄存器

用到IICADD寄存器的位[7:1],表示從機地址。IICADD寄存器在串行輸出使能位IICSTAT[4]為0時(shí),才可以寫(xiě)入;在任何時(shí)候都可以讀出。IICSTAT[4]為0時(shí),禁止接收/發(fā)送功能,即此時(shí)SCL線(xiàn)被拉低。

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

IICDS寄存器

用到IICDS寄存器的位[7:0],其中保存的是要發(fā)送或已經(jīng)接收到的數據。IICDS寄存器在串行輸出使能位IICSTAT[4]為1時(shí)才可以寫(xiě)入;在任何時(shí)候都可以讀出。IICSTAT[4]為1時(shí),使能接收/發(fā)送功能,也就是釋放了SCL線(xiàn)。



評論


技術(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>