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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2153|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

I2C總線之教科書中的一個錯誤

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:266429 發(fā)表于 2020-1-30 12:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
應(yīng)該是這樣的:
      在主器件向從器件發(fā)送數(shù)據(jù)時,一旦從器件收到一個有效完整字節(jié)后,則從器件立即將SDA拉低,根本不需要主器件再向從器件發(fā)送任何信號 ,也就是說應(yīng)答信號并不是在第9個時鐘位出現(xiàn)。這時SDA線將處于低電平狀態(tài),如果從器件的該端口一直處于低電平狀態(tài),則SDA線將一直處于低電平狀態(tài),主器件將無法操作SDA線,后面的事就做不成了,于是,主器件再發(fā)一次脈沖,從器件在該脈沖期讀取SDA狀態(tài),若為零,則判斷主器件已收到應(yīng)答信號,于是,從器件向其SDA端口發(fā)送高電平信號以釋放對SDA線的控制權(quán),這樣才能繼續(xù)以后的工作。
    具體實驗,可以將SDA端口的電平送入另一接有LED指示燈的端口,在程序中先寫完發(fā)送一字節(jié)的程序,然后寫一條程序?qū)DA狀態(tài)送入LED端口,運行程序以觀測LED的亮滅;然后再寫一條將SDA拉高的程序,再運行并觀測;然后再寫一段SCL的脈沖程序,然后再運行觀測,就很清楚了。
    這一做法,也可以拿來檢驗?zāi)愕木幊淌欠裾_,第二次運行后,LED應(yīng)該滅,第三次運行后,應(yīng)該亮。
    程序運行中,每一步,你都可以加1S的延時,結(jié)合各端口用LED來觀測程序運行過程。

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:351097 發(fā)表于 2020-1-30 16:59 | 只看該作者
I2C通信,如果是主機發(fā)給從機,從機一定會做接收回應(yīng)。主機在每輪數(shù)據(jù)通信都需要完整提供9個時鐘信號,從機會在第8個時鐘信號下降沿之后拉低SDA,在第9個時鐘信號下降沿之后,從機會釋放SDA。如果從機一直沒有釋放SDA,應(yīng)該是主機提供時鐘信號不完整導(dǎo)致的。
回復(fù)

使用道具 舉報

板凳
ID:266429 發(fā)表于 2020-1-31 16:05 | 只看該作者
I2C通訊時,不管是主機還是從機,數(shù)據(jù)接收方在收到完整的一字節(jié)數(shù)據(jù)后,都應(yīng)立即發(fā)出一個信號,就是拉低SDA,而不是如教材中所說“先要判斷SDA處于高電平后再去拉低SDA”,它不作這個判斷;發(fā)送方在發(fā)送完一字節(jié)數(shù)據(jù)后,則會拉高SDA然后檢測SDA是否處于低電平狀態(tài),如果檢測到是低電平,則認為對方收到了這一字節(jié)。也就是雙方都要進行確認。
所以說,I2C的時序圖,應(yīng)該是六條線,主、從器件共四個端口每個端口一條線,然后是兩條線上的合成圖。現(xiàn)在的教材上面基本都只畫了合成圖。
所謂的應(yīng)答信號、非應(yīng)答信號之稱,并不合適。可以稱之為主機發(fā)應(yīng)答、主機收應(yīng)答、從機發(fā)應(yīng)答、從機收應(yīng)答。
回復(fù)

使用道具 舉報

地板
ID:266429 發(fā)表于 2020-1-31 16:09 | 只看該作者
本帖最后由 慢慢思考 于 2020-1-31 18:08 編輯
沒有你 發(fā)表于 2020-1-30 16:59
I2C通信,如果是主機發(fā)給從機,從機一定會做接收回應(yīng)。主機在每輪數(shù)據(jù)通信都需要完整提供9個時鐘信號,從機 ...

從機在第8個時鐘下降沿才剛剛讀取SDA,所以,從機一定是在這個下降沿之后才拉低SDA。
回復(fù)

使用道具 舉報

5#
ID:266429 發(fā)表于 2020-1-31 16:53 | 只看該作者
這個驗證試驗蠻簡單,先向從機發(fā)送10100001B,程序只寫到這里,不寫應(yīng)答程序,然后運行,運行完成后,如果這時從機沒有將SDA拉低,SDA將處于高電位,因為最后一位是1。但實際上,如果我們檢測一下的話,會發(fā)現(xiàn)SDA是處于低電位的。
檢測方法可以用萬用表,可以用邏輯分析儀。另外,也可以用我另外一個貼子里的方法,我用這個方法已經(jīng)檢測過了。
PS:象這種試驗,編程時建議有些數(shù)據(jù)不要用十六進制十進制神馬的,直接用二進制,直觀且便于按你的意圖修改。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲免费在线 | 久视频在线 | 欧美 中文字幕 | 欧美日韩亚洲系列 | 亚洲精品乱码久久久久久蜜桃91 | 国产午夜在线观看 | 日本啊v在线 | 中文字幕免费观看 | 五月天婷婷狠狠 | 国产精品一区一区 | 99在线资源 | 中文字幕av一区二区三区 | 精品国产视频 | 色毛片| 一级黄色片免费在线观看 | 国产999精品久久久 日本视频一区二区三区 | 亚洲永久免费观看 | 国产一区二区三区在线 | 午夜影晥 | 精品久久久久久久久久久久久 | 色婷婷国产精品 | 日韩欧美在线视频 | 欧美成人性生活 | 九九99久久| 久久久久亚洲精品 | 中文字幕日韩一区 | 欧美一区二区三区精品免费 | 久久久黄色 | 麻豆av在线| 国产极品粉嫩美女呻吟在线看人 | 黄色片在线网站 | 欧美自拍一区 | 欧美视频在线观看 | 国产免费自拍 | 国产免费人成xvideos视频 | 精品综合在线 | 黄网免费 | 亚洲日本中文字幕在线 | 亚洲一区二区三区桃乃木香奈 | 欧美在线小视频 | 亚洲成人自拍 |