openwrt控制GPIO
可以通过在/sys/class/gpio下操作导出GPIO引脚,从而对GPIO进行操作。
export:导出控制的 GPIO 引脚编号。
unexport:取消控制的 GPIO 引脚编号。
gpiochip*/:保存系统中 GPIO 寄存器的信息,包括每个寄存器控制引脚的起始编号 base,寄存器名称,引脚。
例如我们要对GPIO10进行操作
可以通过命令echo 10 > export 导出GPIO10,此时gpio目录下就多了一个GPIO10的目录
进入gpio10目录后有一下几个文件:
(1)active_low:这个按照官方的说法是这个翻转电平,输入非零的数即上升沿变为下降沿。 可以通过echo 1 > active_low去修改里面的值, (2)direction:定义gpio mode. 如果想设置为输入:echo in > direction 如果想设置为输出:echo out > direction
(3)edge:控制中断触发模式 无: echo none > edge 上升沿触发:echo rising > edge 下降沿触发:echo falling > edge 轮询:echo both > edge
(4)value:通过修改value里面的值来修改gpio的电平高低
可以通过echo 10 > unexpect去关闭GPIO10,此时gpio下的gpio10目录就消失了。
可以通过脚本或者C语言去改变这几个文件的内容从而对gpio进行控制。