|
I2C通訊時(shí),不管是主機(jī)還是從機(jī),數(shù)據(jù)接收方在收到完整的一字節(jié)數(shù)據(jù)后,都應(yīng)立即發(fā)出一個(gè)信號(hào),就是拉低SDA,而不是如教材中所說(shuō)“先要判斷SDA處于高電平后再去拉低SDA”,它不作這個(gè)判斷;發(fā)送方在發(fā)送完一字節(jié)數(shù)據(jù)后,則會(huì)拉高SDA然后檢測(cè)SDA是否處于低電平狀態(tài),如果檢測(cè)到是低電平,則認(rèn)為對(duì)方收到了這一字節(jié)。也就是雙方都要進(jìn)行確認(rèn)。
所以說(shuō),I2C的時(shí)序圖,應(yīng)該是六條線,主、從器件共四個(gè)端口每個(gè)端口一條線,然后是兩條線上的合成圖,F(xiàn)在的教材上面基本都只畫了合成圖。
所謂的應(yīng)答信號(hào)、非應(yīng)答信號(hào)之稱,并不合適?梢苑Q之為主機(jī)發(fā)應(yīng)答、主機(jī)收應(yīng)答、從機(jī)發(fā)應(yīng)答、從機(jī)收應(yīng)答。 |
|