devm_gpio_request_one用法举例
时间: 2023-12-19 09:32:36 浏览: 466
devm_gpio_request_one函数是在设备树中指定了GPIO引脚后,在驱动代码中使用的函数之一。它用于请求一个GPIO引脚,并将其设置为输入或输出模式。
以下是devm_gpio_request_one函数的用法示例:
```c
#include <linux/gpio.h>
struct gpio_desc *gpio;
// 请求一个GPIO引脚
gpio = devm_gpio_request_one(dev, GPIO_NUM, GPIOF_OUT_INIT_LOW, "gpio_example");
if (IS_ERR(gpio)) {
pr_err("Failed to request GPIO\n");
return PTR_ERR(gpio);
}
// 设置GPIO引脚为输出模式
gpio_direction_output(gpio, 1);
// 在需要的地方使用GPIO引脚
// 释放GPIO引脚
devm_gpio_free(dev, gpio);
```
在上面的示例中,我们首先使用devm_gpio_request_one函数请求一个GPIO引脚。其中,dev是设备指针,GPIO_NUM是GPIO引脚的编号,GPIOF_OUT_INIT_LOW表示将GPIO引脚设置为输出模式,并初始化为低电平,"gpio_example"是一个字符串,用于标识这个GPIO引脚。
然后,我们可以使用gpio_direction_output函数将GPIO引脚设置为输出模式,并将其输出高电平或低电平。
最后,我们使用devm_gpio_free函数释放GPIO引脚。
阅读全文