OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...

通过/sys/class/gpio导出控制led灯遇到的问题

查看数: 11857 | 评论数: 7 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-4-18 12:39

正文摘要:

led0对应gpio1_3。通过执行for i in gpiochip* ; do echo`cat $i/label`: `cat $i/base` ; done和6ull数据手册查询到gpio1_3对应gpiochip0, 于是gpio1_3对应的号应为0+3=3,如图1但执行echo 3 > /sys/class/gpio/ ...

回复

zhuwnatong 发表于 2025-6-17 09:07:39
mark mark
flyzeng 发表于 2021-4-9 14:54:55
mark
小胡子DIY 发表于 2021-3-27 10:11:27
同样的问题 谢谢了
SeraX 发表于 2020-4-20 09:19:31
仰望星空之云 发表于 2020-4-18 12:39
根据提示,这个IO被占用了。

在设备树这一章节,IO复用或者IO占用这个要特别注意

谢谢,一直在找哪儿占用了它
xiaotaotao 发表于 2020-4-18 14:48:33
SeraX 发表于 2020-4-18 12:40
怎么就偏偏gpio1_3这个管脚没法导出呢?

打印信息不是给你提示了吗?  这个管脚被用了
SeraX 发表于 2020-4-18 12:40:36
怎么就偏偏gpio1_3这个管脚没法导出呢?
仰望星空之云 发表于 2020-4-18 12:39:07
本帖最后由 仰望星空之云 于 2021-7-6 10:06 编辑

根据提示,这个IO被占用了。

在设备树这一章节,IO复用或者IO占用这个要特别注意
使用这种方法的话要注意这个gpio管脚没被用过,要是用了,想做这样的测试可以在设备树下将其关闭了。在教程里,这个gpio1_3在设备树下设置了心跳灯了,你得屏蔽他:

(PS:如果已经学习到设备树章节的内容,知道怎么修改设备树,可以直接按照下面的来查找设备树,并将对应的节点屏蔽掉)
4.png
1.png

2.png

3.png

以上是通过修改设备树彻底去掉心跳灯的节点,gpio被释放,这种方法对楼主的问题是可以解决的。

这里提一个题外话,如果只是想关闭心跳灯的话,可以采用上面的操作,在设备树中将心跳灯的节点屏蔽掉,从此心跳灯将熄灭,即使系统重启也不会变化。如果只是想临时关闭心跳灯,可以使用下面的方法:
下面指令中的echo none也可以改为echo 0,作用都是关闭心跳灯,作用是此次系统启动的时候临时关闭心跳灯,但下一次重启开发板的时候,心跳灯又会启动了。(PS:如果还没学习到设备树,不知道则呢改设备树的,又想关闭心跳灯,可以直接执行下面的指令)
TZUL}20JED4MJU}QINBLUQP.png
关闭:
echo none > /sys/class/leds/red/trigger

开启:
echo heartbeat > /sys/class/leds/red/trigger

如果是出厂的文件系统,路径会不一样,是:

echo none > /sys/class/leds/sys-led/trigger
echo heartbeat > /sys/class/leds/sys-led/trigger







关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-2 21:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表