核心中關於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程式設計說明都是舊的版本,所以這篇...