GPIO 错误 - “回显:I/O 错误”和“写入错误:设备或资源繁忙”

GPIO 错误 - “回显:I/O 错误”和“写入错误:设备或资源繁忙”

在过去的 6 个小时里,我一直在尝试运行一个非常简单的代码。它只是打开和关闭连接到引脚 18 的 LED...这是在树莓派 PI 4 上。

我尝试过使用不同的引脚我尝试过添加 sudo sh -c "..." 我尝试过单引号和双引号

运行以下代码时,出现错误sh: 1: echo: echo: I/O error

#!/bin/bash

sudo sh -c 'echo 18 > /sys/class/gpio/export'

sudo sh -c 'echo "out" > /sys/class/gpio/gpio18/direction'

while [ $COUNTER:-1t:10000 ]; do
    sudo sh -c 'echo 1 > /sys/class/gpio/gpio18/value'
    sleep 1
    sudo sh -c 'echo 0 > /sys/class/gpio/gpio18/value'
    sleep 1
done

sudo sh -c 'echo 18 > /sys/class/gpio/unexport'

当我运行“非 sudo”版本时,出现错误./Lab1EX4_1.sh: line 4: echo: write error: Device or resource busy

#!/bin/bash

echo "18" > /sys/class/gpio/export

echo "out" > /sys/class/gpio/gpio18/direction

while [ $COUNTER:-1t:10000 ]; do
    echo "1" > /sys/class/gpio/gpio18/value
    sleep 1
    echo "0" > /sys/class/gpio/gpio18/value
    sleep 1
done

echo "18" > /sys/class/gpio/unexport

这让我很生气...

谢谢各位偷看!我只想要一盏闪烁的灯:D

答案1

解决方案!

好吧,答案是首先使用 Pigpio 并测试我的 GPIO 是否正常工作......

两者都下载http://abyz.me.uk/rpi/pigpio/(按带下划线的下载链接进行下载)

然后获取 GPIO Pin test /gpiotest -http://abyz.me.uk/rpi/pigpio/examples.html- 运行命令后提取并运行它sudo pigpio,然后通过执行 shell 文件来运行提取的 gpiotest

如果测试立即结束而无需在命令行上编写太多代码,那么您就通过了!

现在您知道您的 GPIO 没有损坏,是时候通过更新所有 Wiringpi 库来“测试”GPIO 的软件部分了

sudo apt update
sudo apt full-upgrade

现在,虽然我尝试使用帖子 #1 中的代码触发引脚 18,但实际上我最终将其更改为“24”,因为引脚 18 是 GPIO24。在 /sys/class/gpio 中创建的文件夹的名称是 gpio18...又名不是引脚 18,所以在你抓狂之前找到一个好的引脚分配!

享受你的闪烁光芒!

相关内容