지난 6시간 동안 저는 매우 간단한 코드를 실행해 보았습니다. 핀 18에 연결된 LED를 켜고 끄기만 하면 됩니다. 이는 Raspberry 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 핀 테스트 /gpiotest를 가져옵니다.http://abyz.me.uk/rpi/pigpio/examples.html- 명령어 실행 후 추출하여 실행한 sudo pigpio
후, 쉘 파일을 실행하여 추출된 gpiotest를 실행합니다.
명령줄에 너무 많은 코드를 작성하지 않고 테스트가 즉시 종료되면 합격입니다!
이제 GPIO가 손상되지 않았음을 알았으므로 모든 Wiringpi 라이브러리를 업데이트하여 GPIO의 소프트웨어 부분을 "테스트"할 차례입니다.
sudo apt update
sudo apt full-upgrade
이제 포스트 #1의 코드를 사용하여 핀 18을 트리거하는 동안 핀 18이 GPIO24이기 때문에 실제로 "24"로 변경하게 되었습니다. /sys/class/gpio에 생성된 폴더의 이름은 gpio18입니다...일명 핀 18이 아니므로, 당황하기 전에 좋은 핀 할당을 찾으십시오!
당신의 반짝임을 즐겨보세요!