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...