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

相关推荐
电子科技圈15 分钟前
IAR开发平台升级Arm和RISC-V开发工具链,加速现代嵌入式系统开发
arm开发·嵌入式硬件·设计模式·性能优化·软件工程·代码规范·risc-v
中科三方33 分钟前
如何通过DNS解析实现负载均衡?有哪些优势?
运维·负载均衡
安科瑞刘鸿鹏40 分钟前
双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
大数据·运维·物联网·安全·能源
小呆瓜历险记1 小时前
ubuntu 22.04搭建SOC开发环境
linux·运维·ubuntu
码农101号1 小时前
Linux中shell流程控制语句
linux·运维·服务器
ajassi20001 小时前
开源 java android app 开发(十二)封库.aar
android·java·linux·开源
聪明小萝卜1 小时前
无法与IP建立连接,未能下载VSCode服务器
运维·服务器
JuiceFS1 小时前
深度解析 JuiceFS 权限管理:Linux 多种安全机制全兼容
运维·后端
暗夜潜行1 小时前
ubuntu + nginx 1.26 + php7.4 + mysql8.0 调优
linux·运维·ubuntu
IU宝1 小时前
Linux下基础IO
linux·运维·服务器