linux kernel操作GPIO函數

一、頭文件

#include <asm/gpio.h>

 

二、註冊 GPIO

int gpio_request(unsigned gpio, const char *label)

功能:申請一個GPIO

參數:gpio:管腳號;label:管腳名,可以為空(NULL)

返回值:成功返回0,失敗返回錯誤碼

 

三、設置GPIO方向

1、設置輸出

int gpio_direction_output(unsigned gpio, int value)

功能:設置GPIO為輸出

參數:gpio:管腳號;value:初始值,0或1

返回值:成功返回0,失敗返回錯誤碼

 

2、設置輸入

int gpio_direction_input(unsigned gpio)

功能:設置GPIO為輸入

參數:gpio:管腳號

返回值:成功返回0,失敗返回錯誤碼

 

四、設置GPIO輸出值

void gpio_set_value(unsigned gpio, int value)

功能:設置GPIO控制值

參數:gpio:管腳號;value:控制值,0或1

 

五、獲取GPIO輸入值

int gpio_get_value(unsigned gpio) 

功能:獲取GPIO輸入值

參數:gpio:管腳號

返回值:0或1

 

六、釋放GPIO

void gpio_free(unsigned gpio)

功能:釋放註冊的GPIO

參數:gpio:管腳號

 

Tags: