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