目录
1、GPIO设备驱动框架
2、文件
3、gpiochipX
3.1、GPIO编号
4、gpioX
1、GPIO设备驱动框架
通过GPIO框架注册的GPIO设备,可以通过sysfs方式进行操控。sysfs文件路径为/sys/class/gpio。
2、文件
文件夹 | 说明 |
gpiochipX | 表示GPIO 控制器。 注:每一个 gpiochipX 文件夹用来管理一组 GPIO。 |
export | 用于将指定编号的 GPIO 引脚导出。 注:并不是所有的GPIO引脚都可以成功导出,如果对应的GPIO已经在内核中被使用,则无法导出。 |
unexport | 将导出的 GPIO 引脚删除。 |
3、gpiochipX
文件 | 说明 |
base | 与 gpiochipX 中的 X 相同,表示该控制器所管理的这组 GPIO 引脚中最小的编号。 注:每一个 GPIO引脚都会有一个对应的编号, Linux 下通过这个编号来操控对应的 GPIO 引脚。 |
label | 该组 GPIO 对应的标签(名字) |
ngpio | 该控制器所管理的 GPIO 引脚的数量 注:引脚编号范围为base ~ base+ngpio-1 |
3.1、GPIO编号
对于给定的一个GPIOX_IOY引脚。
1) 当X从1开始,则其GPIO编号为:(X-1)*ngpio+Y
2) 当X从0开始,则其GPIO编号为:X*ngpio+Y
4、gpioX
将指定的编号写入到 export 文件中,可以导出指定编号的 GPIO 引脚,导出成功之后会生成/sys/class/gpio/gpioX文件夹。
direction | 用于查看和配置 GPIO 引脚模式。 1)'in':输入模式 2)'out':输出模式 |
value | 用于控制GPIO引脚电平。 1) active_low=0,value=0:低电平 3) active_low=1,value=0:高电平 4) active_low=1,value=1:低电平 |
active_low | |
edge | 用于控制中断的触发模式。 1)'none':非中断引脚 2)'rising':上升沿触发 3)'falling':下降沿触发 4)'both':边沿触发 |