微控制器的I2C常規知識

2021-06-22 12:05:44 字數 452 閱讀 8693

i2c有8位資料,為7位選址+r/w。

當scl為高電平時,sda從高電平向低電平切換,為i2c的起始條件。

當scl為低電平時,sda由低電平向高電平切換,為i2c的停止條件。

scl保持低電平,主機則處於等待狀態。

ack為響應,傳送完乙個資料後等待響應。

從i2c接收乙個位元組:

1、初始化

i2c start

發設定暫存器位址和設定數(例如時鐘晶元設定為24小時顯示,先傳送24小時顯示位所在的暫存器位址,然後再傳送設定數)

i2c stop

2、i2c讀(指定讀取位址)(sd2300)

start

定址位址+0(寫)

ack內部位址+傳輸模式

ackstart

定址位址+1(讀)

ack 資料

ack/nack

stop

微控制器之I2C匯流排原理

採用序列匯流排技術可以大大簡化硬體的設計,體積減少,可靠性高。常見的匯流排,i2c inter ic bus 單匯流排,spi匯流排。i2c序列匯流排 1 進行多主機通訊 2 兩根雙線訊號線,一根資料線sda,另外一根時鐘線scl,接上拉電阻,匯流排空閒為高電平。只要有低電平,匯流排就會被拉低電平。...

微控制器 I2C匯流排通訊程式

為保證資料的可靠性,i2c匯流排的資料傳送有嚴格的時序要求。i2c匯流排的起始訊號 終止訊號 傳送 0 及傳送 i2c匯流排寫操作,待寫入位元組dat,返回值為應答狀態 i2c sda 1 8位資料傳送完後,主機釋放sda,以檢測從機應答 i2cdelay i2c scl 1 拉高scl ack i...

51微控制器軟體模擬i2c學習記錄

剛學學stm32的i2c時,一大堆的配置,配置起來也麻煩。看著手裡有塊51開發板,就學著用軟體模擬i2c。include define uchar unsigned char define uint unsigned int sbit sda p0 1 sbit scl p0 0 void dela...