栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux通过shell命令操作GPIO

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux通过shell命令操作GPIO

Linux通过shell命令操作GPIO 开发板:zlg M3354 目录:cd /sys/class/gpio/ 一、各个目录和文件功能

1、gpio_operation 通过/sys/文件接口操作IO端口 GPIO到文件系统的映射,
2、控制GPIO的目录位于/sys/class/gpio
3、/sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号
4、/sys/class/gpio/unexport 用于通知系统取消导出
5、/sys/class/gpio/gpiochipX目录保存系统中GPIO寄存器的信息,包括每个寄存器控制引脚的起始 编号base,寄存器名称,引脚总数 导出一个引脚的操作步骤
6、首先计算此引脚编号,引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数
例如:GPIO 1_13=1*32+13,则引脚编号则为GPIO45
7、向/sys/class/gpio/export写入此编号,比如12号引脚,echo 12 > /sys/class/gpio/export,命令成功后生成/sys/class/gpio/gpio12目录,如果没有出现相应的目录,说明此引脚不可导出:
8、direction文件,定义输入输入方向,可以通过下面命令定义为输出,direction接受的参数:in, out, high, low。high/low同时设置方向为输出
9、value文件是端口的数值,为1或0.

二、操作顺序

1. 导出

/sys/class/gpio# echo 44 > export

2. 设置方向

/sys/class/gpio/gpio44# echo out > direction

3. 查看方向

/sys/class/gpio/gpio44# cat direction

4. 设置输出

/sys/class/gpio/gpio44# echo 1 > value

5. 查看输出值

/sys/class/gpio/gpio44# cat value

6. 取消导出

/sys/class/gpio# echo 44 > unexport

实际操作过程,如果需要测试多个GPIO,可以写个shell脚本去完成

// gpioOut.sh
#!/bin/bash
echo out >  /sys/class/gpio/gpio$1/direction
cat  /sys/class/gpio/gpio$1/direction
for a in {1..10}
do
 echo $2 > /sys/class/gpio/gpio$1/value
 cat  /sys/class/gpio/gpio$1/value
 sleep 1
done

// gpioIn.sh
#!/bin/bash
echo in >  /sys/class/gpio/gpio$1/direction
cat  /sys/class/gpio/gpio$1/direction
for a in {1..8}
do
 cat /sys/class/gpio/gpio$1/value
   sleep 1
   done

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号