Linux核心 GPIO操作部分API

2022-05-14 04:02:31 字數 1095 閱讀 5228

核心中關於gpio的操作api主要集中在和中,前者主要是gpio直接與裝置樹相關的操作,在linux 裝置樹操作api中已經記錄過,後者主要是針對gpio本身的操作,常用的有下面幾個。

//linux/gpio.h

/** * gpio_request_one - request a single gpio with initial configuration

* @gpio: the gpio number

* @flags: gpio configuration as specified by gpiof_*

* @label: a literal description string of this gpio

*/int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)

/* 判斷gpio是否有效 */

bool gpio_is_valid(int number)

/** * 功能:設定指定gpio的工作模式為輸入模式

* @gpio - 編號(要找的是那個cell)

* 失敗:負數,絕對值錯誤碼,成功:0

*/int gpio_direction_input(unsigned gpio)

/** * 功能:設定指定gpio的工作模式為輸出模式

* gpio - 編號(要找的是那個cell)

* 失敗:負數,絕對值錯誤碼,成功:0

*/int gpio_direction_output(unsigned gpio, int value)

/* 設定gpio的值 */

void gpio_set_value(unsigned gpio, int value)

/* 獲取gpio的值 */

int gpio_get_value(unsigned gpio)

/* 申請軟中斷到gpio引腳 */

int gpio_to_irq(unsigned int gpio)

/* 釋放gpio */

gpio_free(unsigned gpio)

linux核心裡的GPIO操作函式

1.gpio set value unsigned gpio,int value 用來設定gpio暫存器的值 2.gpio direction output unsigned gpio,int value 用來設定gpio為輸出功能,同時設定gpio輸出的值。一般來說,設定乙個gpio口為輸出,先執...

核心GPIO操作庫函式

gpio request int gpio,char name 函式作用 明確 硬體gpio對於核心來說像記憶體一樣,都是一種寶貴的資源,所以如果軟體要訪問,首先應該向核心去申請硬體gpio資源 明確 每乙個硬體gpio由廠家定義好了乙個名稱,例如gpc0 3,但是在核心中,核心會重新給這個硬體gp...

linux核心GPIO程式設計說明

核心gpio程式設計說明 參考資料 從官方資料來看,linux核心中的gpio介面目前有新舊兩個版本,新的版本的介面是descriptor based的,而舊的是integer based的。舊的介面已出於相容性的考慮仍被支援,但已不再建議使用。網上目前大多gpio程式設計說明都是舊的版本,所以這篇...