Wpis z mikrobloga

@jaqo1989: A ręcznie przez sysfs masz dostęp?

wejdź do

/sys/class/gpio

Po wydaniu komendy

ls

powinieneś widzieć taki plik jak gpiochip-xxx oraz katalogi export i unexport
Żeby wyeksportować(używać) dany numer gpio, powiedzmy 13, wydaj takie polecenie:

echo 13 > export


Jak wyeksportujesz, to pojawi się katalog

/sys/class/gpio/gpio13/

i w nim:

direction

value

edge


i tam ustawiasz directionna in/out a potem czytasz/piszesz z/do value
Więcej:
https://www.kernel.org/doc/Documentation/gpio/sysfs.txt

Jak da się sterować przez sysfs, to
@jaqo1989: spróbuj jako root:

sudo echo ... itd.


Może być też tak że pierwsze GPIO nie ma wcale numeru 0, czy tam 1 tylko są przesunięte. W katalogu

/sys/class/gpio/gpiochipN/

Powinny być odpowiednie informacje w base i ngpio
@jaqo1989: Ja nie mam orange pi, piszę jak się z tym działa ogólnie na Linuksach.
Żeby korzystać z gpio kernel musi mieć włączoną obsługę GPIO, a także mieć ich opis w załadowanym device-tree.
Zakładam że korzystasz z Armbiana, który wspiera OrangePi, więc te warunki są raczej spełnione.

Potwierdź mi czy masz w ogóle katalog w stylu:
/sys/class/gpio/gpiochipN/

jeśli masz, to kernel widzi pewną pulę GPIO, których może używać. Żeby zobaczyć ile
@QBA__: i to własnie zbudowałem :)
tylko że gry próbuję zmienić stan któregoś wyjścia to w tablicy (readall) wszystko się ładnie zmienia a nie mam zmiany na płytce :(
via Wykop Mobilny (Android)
  • 1
@QBA__: Mireczku... Udało się!!! Okazało się że przed określeniem Value trzeba zdefiniować Mode bi wygląda na to że nie ma wartości domyślnych. Dzieki wielkie za wszystko ()