iic匯流排的機制

2022-03-21 09:52:06 字數 920 閱讀 8104

iic匯流排相關知識是嵌入式開發軟體、硬體必問的知識點。被卡死了幾回,今天進行總結。

特點:二線制,半雙工,具有應答機制。其工作原理是scl、sda的開漏輸出,因此必須接上拉電阻。通訊速率略慢,0-3.4mhz範圍。

時序圖:

2.其驅動程式:

#include "pch.h"

#include #define number1 (60*60*24*365)

void delay_us(int j)

int sda = 1;

int scl = 1;

//iic起始訊號

void start()

//iic結束訊號邏輯

void end()

void ack()

scl = 0;

//delay_us(100);

//scl = 1;

}//寫資料時,要求在scl=1時,資料保持穩定

void write_byte(int data)

else

sda = 0;

temp = temp << 1;

delay_us(100);

scl = 1;

delay_us(100);

} scl = 0;

}//讀資料時,scl=1時,進行讀取

int read_byte()

return data;

}void no_ack()

void write_data(int addr,int addr1)

int read_data(int addr, int addr1)

int main()

匯流排 IIC匯流排

i2c匯流排是飛利浦 phlips 公司推出的一種半雙工序列匯流排,用於連線微控制器及其外圍裝置,i2c序列匯流排有兩根雙向訊號線。一根是資料線sda,另一根是時鐘線scl。它僅通過兩根訊號線就可以完成對所有掛載在i2c匯流排上的從器件進行操作。這樣的好處是可以大大的節省我們微處理器的io口資源。i...

IIC匯流排協議

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

IIC匯流排分析

1.2440晶元內含義iic控制器,其中有iicscl,iicsda線與外設iic裝置相連,如at24c02 at24c08等。iic規範中要求具有主從結構體,從裝置不能發起資料傳輸。主裝置先傳送含有裝置位址的命令,iic匯流排上 的各個iic裝置發現正好對應為自己的位址,則接受處理這個命令。2.i...