gpio_request怎么用
时间: 2023-10-04 11:10:47 浏览: 156
gpio操作1
gpio_request函数可以用于请求一个 GPIO 脚作为一个输入或者输出线路来使用。其函数原型为:
```
int gpio_request(unsigned int gpio, const char *label)
```
其中,gpio 是 GPIO 口的编号,label 是 GPIO 口的名字,该名字对应着 sysfs 中 GPIO 口的目录名。函数执行成功后返回 0,否则返回负数错误码。例如,请求 GPIO1_16 为输出口的示例代码如下:
```
#include <linux/gpio.h>
static unsigned int gpio_led = 48; //GPIO1_16 在内核中的编号为 48。
int __init gpio_init(void)
{
int ret;
//请求 GPIO 口
ret = gpio_request(gpio_led, "led-gpio");
if (ret < 0) {
printk(KERN_EMERG "Failed to request gpio %d (%d)\n",
gpio_led, ret);
return ret;
}
//设置 GPIO 口为输出口
ret = gpio_direction_output(gpio_led, 1); //初始化时关闭 LED 灯
if (ret < 0) {
gpio_free(gpio_led);
return ret;
}
return 0;
}
```
你可以参考上面的示例代码,将 gpio_request 函数嵌入到自己的驱动程序中。
阅读全文