Linux I2C 學習筆記
- 用戶空間對 /dev/i2c-x 調用 open read write ioctl等函數, 最終由 i2c-dev.c 中的 i2cdev_ read write ioctl 處理.
- ioctl 主要 參數 I2C_SLAVE, 會將client地址寫入client 結構體.
- read/write 分別使用核心傳輸函數 i2c_master_recv / i2c_master_send來進行數據收發.
- i2c_master_recv / i2c_master_send 的核心都是使用 i2c_transfer() + struct i2c_msg做爲參數.
- i2c_transfer 核心函數爲: master_xfer, 來自於 i2c_adapter 主控的註冊.
- 發送過程當中,還會經過 time_after來檢查發送是否超時.
歡迎關注本站公眾號,獲取更多信息