嵌入式LINUX驱动开发(二)-控制LED灯亮灭-GPIO驱动

1.LED硬件结构

IMX6ULL-MINI电路板的硬件结构如下:

它使用 GPIO5_IO03 ,引脚输出低电平时 LED 被点亮,输出高电平时 LED 被熄灭

在 Linux 中,GPIO 的标识和控制通常是通过引脚号来进行的,引脚号是用于唯一标识特定的 GPIO 引脚

IMX6ULL引脚号获取

开发板中输入下面指令获取引脚映射

cat /sys/kernel/debug/gpio

 i.max6ull开发板的GPIO5就是 gpiochip4(不同厂家开发板可能不同),gpiochip4起始引脚号为128,因此GPIO5_3的引脚号就是128+3 = 131;

2.GPIO子系统函数介绍

Linux的GPIO子系统中可以通过如下函数配置GPIO。

int gpio_request(unsigned gpio, const char *label);
void gpio_free(unsigned gpio);
int gpio_direction_input(unsigned gpio);
int gpio_direction_output(unsigned gpio, int value);
int gpio_get_value(unsigned gpio);
void  gpio_set_value(unsigned gpio, int value);

函数具体解释如下:

1)gpio_request(unsigned gpio, const char *label)

作用: 向Linux 内核中用于请求申请一个 GPIO 引脚的函数。如果我们想对一个引脚进行操作,需要最先调用 gpio_request()这个函数
gpio : 要请求的 GPIO 引脚号。这个引脚号可以自己直接给出(比如上面花了那么多篇幅讲解的)。还可以通过 of_get_named_gpio 函数从设备树获取指定 GPIO 属性信息(设备树的内容,后面会讲解,这里留个影响即可)。
label : 给GPIO起一个名字,因为直接一个引脚号不方便人阅读,所以可以给这个引脚号起一个名字。随便起名字,只要你自己喜欢,不影响。
返回值 : 如何返回0,表示申请GPIO成功。如果返回负数,表示申请GPIO出现错误

 2)gpio_free(unsign

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值