久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > I2C總線學習—查缺補漏—應答信號ACK

I2C總線學習—查缺補漏—應答信號ACK

作者: 時間:2016-11-22 來源:網絡 收藏
IIC協議規定,當主機作為接收設備時,主機對最后一個字節不應答,以向發送設備(從設備)標識數據傳送結束。這是因為每次傳輸都應得到應答信號后再進行下一個字節傳送。如果此時接收機應答了,那它就接收的不是最后一個字節了。如果是最后一個字節,第9個時鐘周期發送的是非應答信號(此時發送的不是應答信號就是非應答信號),最后發送停止信號。
并非每傳輸8位數據之后,都會有ACK信號,有以下3中例外
  1. 當從機不能響應從機地址時(例如它正忙于其他事而無法響應IIC總線的操作,或者這個地址沒有對應的從機),在第9個SCL周期內SDA線沒有拉低,即沒有ACK信號。這時,主機發出一個P信號終止傳輸或者重新發出一個S信號開始新的傳輸。
  2. 如果從機接收器在傳輸過程中不能接收更多的數據時,它不會發出ACK信號。這樣,主機就可以意識到這點,從而發出一個P信號終止傳輸或者重新發出一個S信號開始新的傳輸。
  3. 主機接收器在接收到最后一個字節后,也不會發出ACK信號。于是,從機發送器釋放SDA線,以允許主機發出P信號結束傳輸。



評論


技術專區

關閉