0 前言
本文描述如果通过文件IO sysfs方式控制树莓派 GPIO端口。通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入。
Linux学习可从应用出发,先不纠结Linux驱动编写,先把Linux给玩起来。
【相同与不同】
本文和【
EasyARM i.mx28学习笔记——文件IO方式操作GPIO】内容相似,大部分代码相同。通过文件IO操作可以有效地避免平台差异,虽然EasyARM im287平台和树莓派完全不同,但是通过sysfs操作GPIO实现代码大致相同。
和EasyARM im287不同,此处并没有使用交叉编译工具,有树莓派中的gcc工具链编译链接获得可执行文件,而EasyARM im287并不能这样操作。EasyARM im287采用busybox指令集,这也与树莓派中的debian指令集存在差异。
【相关博文】
【代码仓库】
代码仓库位于bitbucket——
rpi-gpio-sysfs ,请使用Hg克隆或者直接下载zip包。请不要使用任何版本的IE浏览器访问链接,除非你已经知道所使用的IE浏览器符合HTML5标准。推荐使用谷歌或者火狐浏览器访问,若使用国产双核浏览器请切换到极速模式。
【原理图示意】
图1 连线示意图
1 暴露GPIO操作接口
2 隐藏GPIO操作接口