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

相关推荐
bksczm2 分钟前
Linux 五种 I/O 模型与多路复用详解
运维·服务器·网络
wjcroom7 分钟前
FileBrowser的docker运行了改变密码长度的做法
运维·docker·容器
IT爱学堂12 分钟前
新版Linux零基础入门到高手Rocky版本-替换CentOS(完结)
linux·运维·centos
kkkkkkkkkk_Z22 分钟前
学嵌入式和Linux应用编程|学习日记:计算机网络基础
linux·学习·计算机网络
蒸蒸yyyyzwd41 分钟前
cpp选手秋招学习笔记day24-cs144项目总结
运维·服务器·网络
ang7841 小时前
日常高频使用的 Ansible 命令,按使用频率和场景整理。
linux·运维·服务器
高亦真1 小时前
今天是学习嵌入式的第35天
linux·学习·算法
珞光电子USRP SDR软件无线电平台1 小时前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
mounter6252 小时前
eBPF 驱动的云原生网络变革:Cilium 的前世今生与全机套接字迭代技术演进
linux·ebpf·linux kernel·kernel
赵庆明老师2 小时前
用同一个用户登录宝塔面板的ftp与Linux的sftp
linux·运维·服务器