IIC其實很簡單的,讓我這個小白來告訴你吧
IIC的主要信號就是三個:啟動信號,停止信號,應該信號
啟動和停止信號:在任何時候都可以產生
應該信號:在發送或者接收完成8個位之后的第9個位來產生.0為應答,1為不應答,向器件寫入數據時,應答信號由接收器產生,從器件讀出數據時,應答信號由單片機產生
以51讀寫24C01為例:
向24C01寫入時,先寫入啟動信號,然后寫入地址(8個位),在第9個位的時候,SDA線要為高電平(釋放SDA線),接下來,單片機要不斷的讀取SDA線,當寫入完成時,24C01會把SDA線拉低,就表示已經寫入完成了.
讀出數據時:先是一個啟動信號,然后寫入要讀取的地址,再寫入一個啟動信號,然后單片機就開始讀取SDA的電平數據了,在讀取完8個位之后,在第9個位的時候,單片機要把SDA拉低(0),再給24C01一個時候,等于是告訴24C01已經接收到完整的8個位了 |