IIC 通訊協議

2021-06-29 12:14:22 字數 1040 閱讀 8547

原文**:

i2c匯流排進行資料傳送時,時鐘訊號為高電平期間,資料線上的資料必須保持穩定,只有在時鐘線上的訊號為低電平期間,資料線上的高電平或低電平狀態才允許變化。

起始和終止訊號:scl線為高電平期間,sda線由高電平向低電平的變化表示起始訊號;scl線為高電平期間,sda線由低電平向高電平的變化表示終止訊號。

資料傳送格式

(1)位元組傳送與應答

每乙個位元組必須保證是8位長度。資料傳送時,先傳送最高位(msb),每乙個被傳送的位元組後面都必須跟隨一位應答位(即一幀共有9位)。如果一段時間內沒有收到從機的應答訊號,則自動認為從機已正確接收到資料。

at24c02的晶元位址如下圖,1010為固定,a0,a1,a2正好與晶元的1,2,3引角對應,為當前電路中的位址選擇線,三根線可選擇8個晶元同時連線在電路中,當要與哪個晶元通訊時傳送相應的位址即可與該晶元建立連線,tx-1b實驗板上三根位址線都為0。最後一位r/w為告訴從機下一位元組資料是要讀還是寫,0為寫入,1為讀出。

任一位址讀取資料格式

void init()              //初始化

void start()         //啟動訊號

void stop()            //停止訊號

void respons()             //回應訊號

void writebyte(uchar date)//       寫乙個位元組

scl=0;

delay();

sda=1;

delay();

}任一位址寫入資料格式

uchar readbyte()

//讀乙個位元組

delay();

return k;

}void write_add(uchar address,

uchar info)

//指定位址寫乙個位元組資料

uchar read_add(uchar address)

//指定位址讀乙個位元組資料

IIC 通訊協議

i2c匯流排進行資料傳送時,時鐘訊號為高電平期間,資料線上的資料必須保持穩定,只有在時鐘線上的訊號為低電平期間,資料線上的高電平或低電平狀態才允許變化。起始和終止訊號 scl線為高電平期間,sda線由高電平向低電平的變化表示起始訊號 scl線為高電平期間,sda線由低電平向高電平的變化表示終止訊號。...

IIC 通訊協議

簡要過程 主機傳送起始位,這會通知匯流排上的所有裝置傳輸開始了,接下來主機傳送裝置位址 讀 寫訊號,與這一位址匹配的從裝置將成為從機並與主機進行傳輸,而其它從裝置將會退出此次通訊。主機匹配到從機後,主機傳送它所要讀取或寫入的從機的內部暫存器位址 然後傳送資料 資料傳送完畢後,傳送停止位。詳細過程 簡...

IIC通訊協議

i2c是一種同步通訊,以半雙工方式傳送的序列匯流排。由資料線sda和時鐘scl構成的,可傳送和接收資料。在cpu與被控ic之間 ic與ic之間進行雙向傳送,高速iic匯流排一般可達400kbps以上。1.讀資料 指mcu從器件的資料匯流排上根據一定的時序來讀取器件的資料。一般而言,mcu提供乙個邊沿...