Jaki jest stan GPIO po podłączeniu zasilania? np. High, Low, Hi-Z?
Czy jakikolwiek system operacyjny zmienia stan dowolnych GPIO podczas ładowania? Mam nadzieję, że nie.
Jaki jest stan GPIO po podłączeniu zasilania? np. High, Low, Hi-Z?
Czy jakikolwiek system operacyjny zmienia stan dowolnych GPIO podczas ładowania? Mam nadzieję, że nie.
Odpowiedzi:
Tutaj znalazłem odpowiedź dzięki Russellstrongowi . Cytuję odpowiednią część poniżej
Doszedłem do wniosków na temat moich rezystorów podciągających / wrażliwości mojego obwodu na rezystory podciągające. RPi nie ustawia wyjścia GPIO przy pierwszym uruchomieniu. Włącza rezystor obniżający na 740 milisekund.
Użyłem dwóch rezystorów 18K (3v3 -> GPIO -> GND), aby przyjrzeć się dokładnie, co się dzieje z pinami. Oto ślad. Niebieska linia to moc 3 na 3, żółta linia to linia GPIO.
Gdy zaczniesz używać zalecanej dystrybucji Debiana dla RPi, GPIO jest wyłączone. Musisz włączyć każdy pin osobno.
Jeśli robisz to przez / sys, interesujące Cię będą „Ścieżki w Sysfs” (szukaj w http://www.kernel.org/doc/Documentation/gpio.txt ). W szczególności można włączyć pin, „eksportując” go. Wszelkie poniższe polecenia zakładają, że korzystasz z uprawnień roota (sudo lub w inny sposób) lub zmieniłeś uprawnienia / własność modyfikowanych plików wirtualnych.
echo 4 > /sys/class/gpio/export
Umożliwia to GPIO pin nr 4, który następnie powoduje istnienie / sys / class / gpio / gpio4, który zawiera kilka plików wirtualnych. Pliki te obejmują „kierunek”, który określa, czy jest to pin wejściowy, czy wyjściowy, „wartość”, która jest albo tylko do odczytu dla danych wejściowych, albo do zapisu dla danych wyjściowych i zawiera bieżącą wartość, i inne.
echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory
Oczywiście prawdopodobnie wolisz użyć istniejącej biblioteki, aby wykonać GPIO dostarczone lub zgodne z wybranym językiem. Ale jeśli chcesz czegoś prostego, możesz po prostu połączyć się bezpośrednio z sysfs, aby zrobić bardzo proste GPIO.
cat /sys/class/gpio/gpio4/direction
mówi „w”. Przeczytałem w arkuszu danych, że nie można odczytać stanu pullups / pulldowns. Spróbuję je zmierzyć