|
楼主 |
发表于 2013-1-26 10:09:24
|
显示全部楼层
烧录完openwrt系统后,然后考虑的就是如何操作gpio口,是否要自己在openwrt系统中加入可以被调用的gpio驱动,让我纠结了很久,如果这个需要加的话,虽然难度不大,但是要搭建openwrt的工作环境,此工作量和不可预知性就相当的大了!后来找了好多资料发现,其实linux中已经有了可以操作的接口!只要用putty登陆到703N中,控制GPIO的目录位于:
/sys/class/gpio/sys/class/gpio/export
文件用于通知系统需要导出控制的GPIO引脚编号
/sys/class/gpio/unexport
用于通知系统取消导出
/sys/class/gpio/gpiochipX
目录保存系统中GPIO寄存器的信息,
包括每个寄存器控制引脚的起始编号base,寄存器名称,引脚总数
导出一个引脚的操作步骤
1.计算此引脚编号,引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数
2.向/sys/class/gpio/export写入此编号,比如12号引脚,在shell中可以通过以下命令实现,命令成功后生成/sys/class/gpio/gpio12目录,如果没有出现相应的目录,说明此引脚不可导出:
echo 12 > /sys/class/gpio/export
3.direction文件,定义输入输入方向,可以通过下面命令定义为输出
echo out > direction
4.value 文件,控制输出high low
echo out > value
具体可以看一下github上定义好的库,这个可以直接拿来用哦!
https://github.com/rsisto/luaGpio/blob/master/gpio.lua
下面的链接是对库的应用实例
https://github.com/rsisto/luaGpio
|
|