總線信號 :
SDA :串行數據線
SCL :串行時鍾
總線空閑狀態 :
SDA :高電平
SCL :高電平
起始位:SCL為高電平期間 SDA出現下降沿
終止位:SCL為高電平期間 SDA出現上升沿
數據傳輸 :SDA的數據在SCL高電平期間被寫入從機。所以SDA的數據變化要發生在SCL低電平期間。
IIC時鍾頻率:不高於400K
應答:當IIC主機(不一定是發送端還是接受端)將8位數據或命令傳出后,會將SDA信號設置為輸入,等待從機應答(等待SDA由高電平拉為低電平)
若從機正確應答,表明數據或者命令傳輸成功,否則傳輸失敗,注意,應答信號是數據接收方發送給數據發送方的。
IIC器件地址:每一個IIC器件都有一個器件地址,有的器件地址在出廠時地址就設定好了,用戶不可以更改,比如OV7670的
地址為0x42。有的器件例如EEPROM,前四個地址已經確定為1010,后三個地址是由硬件鏈接確定的,所以一
個IIC總線最多能連8個EEPROM芯片。
圖上開始信號之后,七位地址代表器件地址,第八位代表讀或者寫,0為寫,1代表讀,然后跟着響應位。
IIC器件單字節寫時序:
IIC器件多字節地址寫時序:多字節地址比單字節地址在時序上就多了一塊寫地址
單字節器件讀時序:注意最后產生無應答信號,另外多字節地址讀時序跟單字節類似,只不過是多了幾個地址字節而已。
三大串行總線:uart、spi、iic
同步 :spi 異步 : iic,uart
同步和異步區別:采集數據是否用的是時鍾的沿,如果是時鍾沿采數據,同步傳輸,如果電平采集數據是異步
串口接受數據其實就是一個串轉並的過程