我需要写一个控制和检查gpio状态的脚本。
我一直想找个办法做这件事,但没有成功。
以下是详细信息:我使用的是at 91 sam 9260板,其中嵌入了Linux内核2.6.27。
我看到/dev/gpio设备我尝试了一些命令,如cat /dev/gpio或echo 1〉/dev/gpio,但它没有给予我任何结果(除了第一个命令的错误消息)
我还尝试在重新编译CRAMFS文件系统之前使用makedev命令将/dev/gpio 0..创建为/dev/gpio 31,但没有得到更多结果。
有人知道如何检查这些gpio状态并设置/清除其中的一些吗?
更一般地说,是否有一种简单的方法可以通过查看驱动程序源文件来找到特定设备的正确shell命令?
3条答案
按热度按时间sycxhyv71#
如果你的内核支持sysfs,你可以通过
/sys/class/gpio
中的接口访问和控制gpio管脚。参见Documentation/gpio.txt
中内核document的sysfs部分。klr1opcd2#
我用过at 91 sam 9260。你可以使用sysfs接口设置/取消设置gpio引脚。例如。转到:cd /sys/class/gpio,然后“echo 2〉export”,然后通过“echo in〉direction”将gpio引脚的方向设置为输入(in)/输出(out),然后可以通过“cat value”从“value”文件中读取值
wgmfuz8q3#
检查
/sys/kernel/debug/pinctrl/
目录中的详细GPIO信息。