您的位置:首页 > 运维架构 > Linux

Linux 用户态设置GPIO控制

2018-01-25 19:58 519 查看

Linux 用户态设置GPIO控制

linux内核提供了一套在用户态配置GPIO的接口,在
/sys/class/gpio/
目录下



可以发现其中包含有两个文件
export
unexport
和若干
gpiochipN
类型文件夹

export


用于将指定编号的引脚导出,作为GPIO使用

unexport


用于将导出的GPIO删除掉

gpiochipN


当前芯片中包含的GPIO控制器

GPIO使用方法

添加设备接口GPIO167

输入:
echo 167 > export




可以发现,目录下出现了
gpio167
,如果执行命令后没有反应,表示当前的GPIO已经用作其他的功能,例如作为IIC的引脚等

删除设备接口GPIO167

输入:
echo 167 > unexport




可以发现当前导出的接口被删除

控制设备接口GPIO167

输入:
echo 167 > unexport




direction


设置输出还是输入模式

设置为输入:echo “in” > direction

设置为输出:echo “out” > direction

value


输出时,控制高低电平;输入时,获取高低电平

高电平:echo 1 > value

低电平:echo 0 > value

edge


控制中断触发模式,引脚被配置为中断后可以使用
poll()
函数监听引脚

非中断引脚: echo “none” > edge

上升沿触发:echo “rising” > edge

下降沿触发:echo “falling” > edge

边沿触发:echo “both” > edge

gpiochipN目录

用来管理和控制一组gpio端口的控制器

base


和N相同,表示控制器管理的最小的端口编号。

lable


诊断使用的标志(并不总是唯一的)

ngpio


控制器管理的gpio端口数量(端口范围是:N ~ N+ngpio-1)

参考:http://blog.csdn.net/mirkerson/article/details/8464290
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: