struct gpio_chip代表乙個gpio控制器。用乙個全域性陣列儲存所有的gpio控制器。
90 struct gpio_chip
//表示乙個gpio口,含對應的gpio_chip.
//對於每乙個gpio,都有乙個gpio描述符,這個描述符包含了這個gpio所屬的控制器即chip和一些標誌,label等。
86 struct gpio_desc ;
由gpio號獲得gpio_desc
68 struct gpio_desc *gpio_to_desc(unsigned gpio)
69 80 >---}
81 82 >---spin_unlock_irqrestore(&gpio_lock, flags);
83 84 >---if (!gpio_is_valid(gpio))
85 >--->---warn(1, "invalid gpio %d\n", gpio);
86 87 >---return null;
88 }
int of_get_named_gpio(struct device_node *np, const char *propname, int index)
of_get_named_gpio() - get a gpio number to use with gpio api
@np:>>---device node to get gpio from
@propname:>--name of property containing gpio specifier(s)
@index:>-index of the gpio
bool gpio_is_valid(int number)//檢查gpio號
int devm_gpio_request(struct device *dev, unsigned gpio, const char *label)
devm_gpio_request - request a gpio for a managed device
@dev: device to request the gpio for
@gpio: gpio to allocate
@label: the name of the requested gpio
//gpio配置為輸出,並初始化為value
int gpio_direction_output(unsigned gpio, int value)
void gpio_set_value(unsigned gpio, int value)//gpio配置為輸出時可用
int gpio_direction_input(unsigned gpio)//gpio配置為輸入
int gpio_get_value(unsigned gpio)
STM32 GPIO簡單介紹
2018 3 28 stm32 1.簡單配置暫存器環境 2.ministm32f103rc 51個io口 1.擁有著4組io口 gpioa0 a15 gpiob0 b15 gpioc0 c15 gpiod0 d2 2.gpio的工作方式 四種輸入模式,四種輸出模式 輸入方式 1.輸入浮空模式 由引腳...
MTK中GPIO的使用
一 gpio有關的函式 1 gpio modesetup 函式原型 void gpio modesetup kal uint16 pin,kal uint16 conf dada 功能 設定gpio的工作模式是作為gpio,還是作為專有功能介面。引數 pin gpio 的pin腳號,對應於原理圖上m...
linux之GPIO的使用
smdkc110的 gpio 引腳相對來說比較多,而且大部分引腳都具有多重複用功能,如何在 linux 上用最簡單的方式來控制 gpio 這需要我們好好研究一下底層的 了,其實方法有很多種,鑑於在作業系統端控制 gpio 並不像控制傳統的微控制器那樣。這裡我將提及一種方法來講述,這種方法也是我至今看...