在Linux下,通过sysfs,获取gpio状态,也可以操作gpio。
1、获取gpio状态
cd /sys/kernel/debug/
cat gpio
2、调试gpio(以gpio42为例)
可以通过这个调试方法确认该gpio是否可用。
首先,需要确认gpio是否有一个基础值。
cd /sys/class/gpio/
ls -l
从图中可以看出,pinctrl对应的是gpiochip897,gpio的基础值就是897。
那么,我们要操作gpio42,实质上就是需要配置gpio(897+42),即需要操作的是gpio939。
echo 939 > export
cd gpio939
echo out > direction //设置gpio输出
注意:
当然也可以配置为输入in,不过out比较好确认,可以去量对应的gpio引脚,看是否是设置的value的状态。
echo in > direction
cat direction //获取gpio输入输出状态
echo 'value' > value //设置gpio寄存器值
cat value //获取gpio寄存器的值
设置完value的状态后,可用万用表量gpio42对应pin的状态。