i2c驅動dht12的原理和步驟

2022-08-26 10:42:17 字數 609 閱讀 1895

一、步驟

1.首先匹配i2c的控制器裝置和控制器驅動,會生成乙個struct i2c_adapter物件,

2.根據i2c_board_info   ,在  arch/arm/mach-sunxi/sun8i.c   描述i2c裝置資訊,也可以按照    中的步驟新增

用法可以參看uboot_kernel/orangepi_sdk/source/linux-3.4.112/documentation/i2c/instantiating-devices

3.寫i2c裝置驅動,具體可以參考  

重點:i2c通過控制器傳輸資料,只用了乙個函式,

1

int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)

adap:控制器的物件

msgs:傳送訊息的結構體

num:傳送資料的個數。

注:有幾個開始訊號則表示有幾則訊息,msgs則為陣列,有幾個停止訊號,則表示呼叫幾次這個函式

I2C裝置驅動的編寫

前面我們說了如何i2c使用者模式驅動,這種驅動基於i2c子系統,但是他對於應用程式開發人員的要求較高,需要應用程式開發人員了解硬體的一些東西,比如時序,位址等等,而多數時候應用程式開發人員是按照操作檔案的方法操作裝置,所以我們更希望用一些更簡單的介面去訪問。也就是我們今天的內容 基於i2c子系統的字...

I2C裝置驅動的編寫 二

前面我們說了如何i2c使用者模式驅動,這種驅動基於i2c子系統,但是他對於應用程式開發人員的要求較高,需要應用程式開發人員了解硬體的一些東西,比如時序,位址等等,而多數時候應用程式開發人員是按照操作檔案的方法操作裝置,所以我們更希望用一些更簡單的介面去訪問。也就是我們今天的內容 基於i2c子系統的字...

linux下的I2C驅動記錄

現在做的是rk平台的i2c驅動,不是說linux每個外設對應乙個裝置檔案嗎?可是找了一下一直沒找到,今天特別搞了一下。i2c裝置是註冊為platform平台驅動的。下面是我用adb命令檢視的 linux的裝置檔案不一定只在dev 這個目錄下面,像sys 目錄下面也會有一些裝置檔案的 mid下面的i2...