3692
правки
Строка 164: | Строка 164: | ||
echo 0 > /sys/class/gpio/gpio32/value | echo 0 > /sys/class/gpio/gpio32/value | ||
</syntaxhighlight> | </syntaxhighlight> | ||
====Номера GPIO==== | |||
Наиболее унивверсальный способ получить номер GPIO для устаревшего интерфейса sysfs - получить его по метке GPIO. | |||
Для этого нужно найти номер gpiochip, смещение внутри gpiochip и базовый адрес gpiochip. | |||
Пример: | |||
<syntaxhighlight lang="bash"> | |||
~# gpiofind "A1 OUT" | |||
gpiochip0 109 | |||
~# cat /sys/class/gpio/gpiochip0/base | |||
0 | |||
</syntaxhighlight> | |||
Т.е. для A1 OUT будет старый номер 0 (base) + 109 (offset) = 109. | |||
Номера по метке можно получить также через отладочный интерфейс ядра. Это не требует использования утилит gpiod, но формат вывода может быть изменён в новых версиях ядра. "Старый" (глобальный) номер указан в первом столбце: | |||
<syntaxhighlight lang="bash"> | |||
~# cat /sys/kernel/debug/gpio | grep "A1 OUT" | |||
gpio-109 (A1 OUT |wb-mqtt-gpio ) out lo | |||
</syntaxhighlight> | |||
GPIO для дискретных входов и выходов модулей расширения и модулей ввода-вывода доступны таким же образом. Не забудьте выбрать модуль в интерфейсе Hardware Modules Configuration. | |||
====Работа с прерываниями==== | ====Работа с прерываниями==== |