Linux内核相关,GPIO子系统

GPIO子系统是Linux驱动中用于屏蔽硬件差异的接口,简化驱动开发。文章介绍了GPIO子系统的基础概念,包括GPIO_request用于申请IO口,gpio_free释放IO口,gpio_direction_output和gpio_direction_input设置输入/输出模式,以及gpio_set_value和gpio_get_value用于设置和获取IO口的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(今天只是简单的整理了GPIO子系统的通用功能,其他有时间再整理)

1.GPIO子系统的基础概念

        linux驱动要屏蔽硬件的差异性  方便开发人员进行驱动程序的开发,linux系统就给我们准备了一套系统  GPIO子系统,假如有了GPIO子系统  你可以不看原理图就能写出GPIO的驱动。

2.GPIO子系统相关的API

2.1:申请一个IO口使用

函数的头文件:

        linux/gpio.h

函数的原型:

        int gpio_request(unsigned gpio, const char *label);

函数的参数:

        unsigned gpio,        GPIO口的编号,宏定义在:/arch/arm/mach-exynos/include/mach/gpio.h

        const char *label     标签  随便写  但是最好有意义

函数的返回值:

        成功返回      0

        失败返回    负数

2.2 释放一个io口

        void gpio_free(unsigned gpio);

函数的参数:

        unsigned gpio:gpio口的编号

2.3 设置IO口工作模式为输出

        int gpio_direction_output(unsigned gpio, int value)

函数的参数:

        unsigned gpio,  gpio口

        int value   默认值

2.4 设置IO口工作模式为输入

        int gpio_direction_input(unsigned gpio)

函数的参数:

        unsigned gpio:gpio引脚

2.5 设置IO口的值

        void gpio_set_value(unsigned int gpio, int value)

函数的参数:

        unsigned int gpio,     GPIO引脚

        int value                    要设置的值

2.6 获取IO口的值

        int gpio_get_value(unsigned int gpio)

函数的参数:

        unsigned int gpio,   GPIO引脚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值