有的晶元提供的是帶讀寫位的位址,有的是7位裝置位址,注意分辨。如果是帶讀寫位的位址,需要右移一位得到7位裝置位址。
讀寫位:0寫,1讀。
應答訊號:0應答,1非應答。
停止訊號:scl高電平,sda產生乙個上公升沿。
int
i2c_write_reg
(unsigned
char regaddr,
unsigned
char val)
//set reg addr to readif(
write
(i2cfd, reg,2)
!=2)close
(i2cfd)
;return0;
}
int
i2c_read_reg
(unsigned
char reg_addr,
unsigned
char
*pval)if(
write
(i2cfd, reg,1)
!=1)if
(read
(i2cfd, rbuf,1)
!=1)close
(i2cfd);(
*pval)
= rbuf[1]
;return0;
}
I2C通訊協議
i2c是一種個非常常見的序列通訊協議,由sda,scl兩根線組成,分別為資料訊號線和時鐘訊號線。直接從它的時序圖開始分析 起始訊號 scl高電平期間,sda由高電平到低電平表示為起始訊號。i2c裝置檢測到起始訊號知道要開始接受傳輸的裝置。結束訊號 scl高電平期間,sda由低電平到高電平表示為結束訊...
i2c通訊協議
通訊協議 用來實現資料傳輸。i2c物理匯流排 scl 時鐘線 sda 資料線 i2c通訊協議是 序列 同步 半雙工 的通訊方式。i2c物理匯流排中,scl時鐘線只能由 mcu來控制。sda資料線可以收發資料。i2c通訊必須是 mcu和 i2c從裝置之間的雙方通訊。一條i2c匯流排上可以掛載多個 i2...
I2C匯流排通訊協議
i2c是inter integrated circuit的簡稱,讀作 i squared c。由飛利浦公司於1980年代提出,為了讓主機板 嵌入式系統或手機用以連線低速周邊外部裝置而發展。主要用途 soc和周邊外設間的通訊 如 eeprom,電容觸控晶元,各種sensor等 i2c匯流排只使用兩條雙...