久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2124|回復: 0
打印 上一主題 下一主題
收起左側

關于我對IIC協議的一些理解

[復制鏈接]
跳轉到指定樓層
樓主
ID:549507 發表于 2020-7-30 21:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    在談IIC前,我們先將IIC的通信分為三步,準備、通信、結束階段

1.  通信準備
IIC通信至少要兩條通道,一條時鐘線SCL,一條數據線SDA,而這兩條線可以連接很多的設備。雖然IIC連接著很多的設備,但是在IIC沒有與各個設備通信時,IIC均處于休眠狀態,這時候就需要通過主機來喚醒設備了。
我們首先看時序圖,怎么開始IIC的動作,及怎么結束II:
然后再看代碼(somenop()為延時函數,延時時間主要是看單片的時鐘周期,我所使用的單片機芯片是IAP15F2K6102)
void somenop(void)
{
    uchar t;
    _nop_();
    _nop_();
    t = 12;
    while(--t);
}


void IIC_Start(void)
{
    SDA = 1;SCL = 1;
    somenop();
    SDA = 0;
    somenop();
    SCL = 0;
}

void IIC_Stop(void)
{
    SDA = 0; SCL = 1;
    somenop();
    SDA = 1;
    somenop();
}

當我們啟動IIC后,下一步就是尋找設備了,于是我們發送一個地址,像PCF8591,喚醒它的地址就是0x90(二進制數1001 0000),喚醒AT24C02的地址則是0xa0(二進制數1010 0000)這時候需要設備給一個響應來說明設備收到消息了,然后由單片機接受即可,所以設備與單片機達成通信的條件了,然后兩邊建立了通信通道后,單片機就開始選用所需設備的功能端口地址了。
如:選擇PCF8591的A0、A1、A2、A3通道的話,就可以分別發送0x00、0x01、0x10、0x11;選擇AT24C02的A0、A1、A2通道的話,就可以分別發送對應地址(因為AT24C02還帶有讀/寫地址,該地址是在最后一位,這里就不詳細談了)。
在IIC開始,選擇設備地址以及,選擇使用那個通道以及選擇讀數據還是寫數據后,通信準備階段完成。


2.  
開始通信
首先我們要知道IIC是半雙工通信,同一時刻只有一個設備發送數據個另一個設備,兩個設備開始通信時,主機一直控制SCL時鐘線并由它來產生出時鐘信號(也就是脈沖信號),然后,兩設備通過SDA線發送數據來互相通信。
當主機接受從機數據時(也就是主機讀取從機數據),時鐘信號的電平為低的時間內,從機通過數據線發出高低電平的信號;當時鐘信號為高電平期時,主機讀取讀取信號,此時數據線的電平不能改變。發送八位數據后,主機會收到從機的應答,也就是第九個脈沖的時候是應答時間,從機將SDA數據線置為低電平,此時被主機檢測到。于是一個數據就傳輸成功了,主機收到的數據是一個二進制,數據如果為00101101,轉換十六進制是0x2D,然后多做幾個這樣的步驟,數據就讀取到了。
同理從機接受主機的數據時(主機寫數據給從機),時鐘信號還是主機產生的,然后數據是由從機發給主機,發送8位數據后,主機發給從機應答信號,此時一個數據也就成功發送了。


3.  
結束通信
主機再數據發送完后(即應答時間內)給從機一個非應答信號(主機將SDA電平拉高)后解釋IIC,這時候IIC通信告一段落了,最后也就完成了一次通信,數據傳輸進行完畢。


4.  
注意點
     
    IIC開始、結束及SCL的時鐘周期是必須合適的,一般都大于5us就可以了(這個時間也可能和設備有關)。時間太短會導致數據傳輸有問題,或者從機來不急應答;時間太長的話……可能數據傳輸太慢吧(知識盲區了)。


    以上就是我對IIC的理解了,這也僅僅是我個人的理解,避免不了錯誤之處,也希望諸位指正。(2020年7月30日寫)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一二三区在线观看 | 午夜精品在线观看 | 中文字幕一区二区三区日韩精品 | 黄色日批视频 | 久久精品成人 | 羞羞视频网页 | 欧美一区二区大片 | 成人a视频片观看免费 | 91精品国产综合久久久久久丝袜 | 国产高清视频一区 | 久久精品一区 | 日韩成人免费av | www操操 | 久久一区精品 | 伊人网综合在线观看 | 久久精品国产免费 | 国产1区在线 | 精品欧美一区二区三区久久久 | 欧美成人精品激情在线观看 | 欧美国产精品一区二区三区 | 久久大| 精品视频一区二区三区在线观看 | 国产亚洲精品91 | 91精品国产91久久久久游泳池 | 欧美日韩亚洲国产综合 | 亚洲第一av | 国产精品久久九九 | 久久999 | 免费一区二区 | 日韩中文字幕在线视频 | 久久一区二区三区免费 | 中文字幕在线剧情 | 中文字幕在线一区二区三区 | 男女羞羞的网站 | 日本涩涩视频 | 免费看黄色小视频 | 欧美一级二级三级视频 | 国产精品一区视频 | 手机在线一区二区三区 | 国产精品九九 | 久久久.com |