arm-linux GPIO控制-脚本及shell格式

以下是针对BCM编号27, 28, 29, 30, 31的shell命令

shell方式

导出GPIO引脚

echo 27 > /sys/class/gpio/export

echo 28 > /sys/class/gpio/export

echo 29 > /sys/class/gpio/export

echo 30 > /sys/class/gpio/export

echo 31 > /sys/class/gpio/export

设置引脚为输出模式

echo out > /sys/class/gpio/gpio27/direction

echo out > /sys/class/gpio/gpio28/direction

echo out > /sys/class/gpio/gpio29/direction

echo out > /sys/class/gpio/gpio30/direction

echo out > /sys/class/gpio/gpio31/direction

设置所有指定引脚为低电平

echo 0 > /sys/class/gpio/gpio27/value

echo 0 > /sys/class/gpio/gpio28/value

echo 0 > /sys/class/gpio/gpio29/value

echo 0 > /sys/class/gpio/gpio30/value

echo 0 > /sys/class/gpio/gpio31/value

测试输出,设置所有指定引脚为高电平

echo 1 > /sys/class/gpio/gpio27/value

echo 1 > /sys/class/gpio/gpio28/value

echo 1 > /sys/class/gpio/gpio29/value

echo 1 > /sys/class/gpio/gpio30/value

echo 1 > /sys/class/gpio/gpio31/value

检查引脚状态 (如果需要)

echo "Pin 27 is $(cat /sys/class/gpio/gpio27/value)"

echo "Pin 28 is $(cat /sys/class/gpio/gpio28/value)"

echo "Pin 29 is $(cat /sys/class/gpio/gpio29/value)"

echo "Pin 30 is $(cat /sys/class/gpio/gpio30/value)"

echo "Pin 31 is $(cat /sys/class/gpio/gpio31/value)"

当你完成操作后,可以通过以下命令取消导出GPIO引脚

#echo 27 > /sys/class/gpio/unexport

#echo 28 > /sys/class/gpio/unexport

#echo 29 > /sys/class/gpio/unexport

#echo 30 > /sys/class/gpio/unexport

#echo 31 > /sys/class/gpio/unexport

脚本方式

导出GPIO引脚

for pin in 27 28 29 30 31; do

echo $pin > /sys/class/gpio/export

done

设置引脚为输出模式

for pin in 27 28 29 30 31; do

echo out > /sys/class/gpio/gpio$pin/direction

done

设置所有指定引脚为低电平

for pin in 27 28 29 30 31; do

echo 0 > /sys/class/gpio/gpio$pin/value

done

测试输出,设置所有指定引脚为高电平

for pin in 27 28 29 30 31; do

echo 1 > /sys/class/gpio/gpio$pin/value

done

如果你想再次设置回低电平,可以重复上述低电平设置步骤

检查引脚状态 (如果需要)

for pin in 27 28 29 30 31; do

value= ( c a t / s y s / c l a s s / g p i o / g p i o (cat /sys/class/gpio/gpio (cat/sys/class/gpio/gpiopin/value)

echo "Pin pin is value"

done

取消导出GPIO引脚

for pin in 27 28 29 30 31; do

echo $pin > /sys/class/gpio/unexport

done

相关推荐
STCNXPARM2 分钟前
Linux PCI/PCIe子系统深度剖析
linux·运维·服务器·pci/pcie
郝学胜-神的一滴7 分钟前
深入理解Linux套接字(Socket)编程:从原理到实践
linux·服务器·开发语言·网络·c++·程序人生·算法
坐怀不乱杯魂26 分钟前
Linux - 线程
linux·c++
EverydayJoy^v^41 分钟前
RH134学习进程——八.管理存储堆栈
linux·运维·服务器
爱编码的傅同学1 小时前
【线程同步】信号量与环形队列的生产消费模型
linux·windows·ubuntu·centos
Nick.Q1 小时前
CentOS 8 离线安装beyond compare
linux·centos
鹿鸣天涯1 小时前
openEuler学习笔记1-openEuler前世今生
linux·openeuler
pwn蒸鱼2 小时前
buuctf中的mrctf2020_shellcode
linux·安全
夕除2 小时前
java--1
linux·运维·服务器
桌面运维家2 小时前
vDisk VOI桌面安全策略怎么配置?详细教程
运维·网络