|
最近有朋友老是問我,關(guān)于I2C的測量和分析,個人特別寫出來最有效的方法:
如何找起始位?
在時鐘信號SCL的高電平期間,SDA數(shù)據(jù)信號上有一個下降沿,這個就是起始位;
如何讀數(shù)據(jù)或者地址?
然后對應(yīng)讀起始位后的SCL的高電平處,SDA的數(shù)據(jù)信號的邏輯值,這就是數(shù)據(jù)或者是地址。地址依照D6,D5,D4,D3,D2,D1,D0的順序。數(shù)據(jù)依照D7,D6,D5,D4,D3,D2,D1,D0順序。
如何讀應(yīng)答:
上面的7位地址或者8位數(shù)據(jù)后,的一位就是應(yīng)答信號,“0”有應(yīng)答,即ACK,如果是“1”,則是NCK。
停止位呢?
前面的地址或者數(shù)據(jù)位后,加上應(yīng)答位,然后就可以看到,SCL高電平時SDA出現(xiàn)一個上升沿,這就是傳說中的停止位。
怎么樣?簡單吧。
|
|