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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2155|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一二区视频 | 日韩精品在线一区 | 自拍第1页 | 伊人精品 | 亚洲一区导航 | 中文字幕在线第一页 | 麻豆精品一区二区三区在线观看 | 亚洲乱码一区二区三区在线观看 | 亚洲精品成人在线 | 免费视频中文字幕 | 日日夜夜狠狠操 | 亚洲精品一 | www..99re| 亚洲 精品 综合 精品 自拍 | 在线视频国产一区 | 狠狠色网 | 精品欧美一区二区在线观看欧美熟 | hitomi一区二区三区精品 | 久久久www成人免费精品 | 午夜精品久久久久久久99黑人 | 久久久www| 亚洲久久一区 | 色综合一区二区 | 一级毛片在线播放 | 亚洲精品久久久久久国产精华液 | 精品欧美一区免费观看α√ | 在线观看av网站永久 | 看黄在线 | 日韩成人在线免费观看 | 亚洲夜夜爽 | 国产精品96久久久久久 | 国产精品久久久久av | 男女激情网站免费 | 四虎在线观看 | 久久天天综合 | 欧美三级成人理伦 | 男女网站免费 | 四虎永久免费地址 | 国产激情一区二区三区 | 一区二区国产精品 | 国产91久久久久蜜臀青青天草二 |