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

相关推荐
开开心心就好1 天前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
火车叼位1 天前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
予枫的编程笔记1 天前
【Linux进阶篇】从基础到实战:grep高亮、sed流编辑、awk分析,全场景覆盖
linux·sed·grep·awk·shell编程·文本处理三剑客·管道命令
Sheep Shaun1 天前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
Tfly__1 天前
在PX4 gazebo仿真中加入Mid360(最新)
linux·人工智能·自动驾驶·ros·无人机·px4·mid360
陈桴浮海1 天前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
迎仔1 天前
06-存储设备运维进阶:算力中心的存储管家
运维
生活很暖很治愈1 天前
Linux——环境变量PATH
linux·ubuntu
?re?ta?rd?ed?1 天前
linux中的调度策略
linux·运维·服务器
深圳市九鼎创展科技1 天前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算