Работа с GPIO на Debian (sunxi,Cubieboard)
Недавно приобрёл Cubieboard (a10), поставил туда Debian (Cubian) с установленным gpio_sunxi, но совершенно не имел понятия, как работать с GPIO, после дня "ковыряния" у меня получилось управлять и читать данные из GPIO через команды:
echo 17 > /sys/class/gpio/export //Создаём pin с номером 17
echo out > /sys/class/gpio/gpio17_pg9/direction //Определяем его тип
echo 1 > /sys/class/gpio/gpio17_pg9/value //Включаем его
Или
cat /sys/class/gpio/gpio17_pg9/value //Читаем включен или выключен pin
Всё прекрасно работает, но есть некий датчик расчёта расстояния, принцип его работы:
Первый pin мы определяем как выход, второй - как вход.
Включаем первый pin и ждём получения сигнала на втором.
Время, через которое придет сигнал со второго pin, и есть расстояние.
Но, так как я работал через SSH, время я посчитать не могу.
Можно просто считывать\записывать в файлы это значение (/sys/class/gpio/gpio17_pg9/value) через nodejs
, например, но это глупо и неточно.
Сам вопрос:
Как можно отследить получение сигнала (без тупого циклического открытия файла) и выполнить некое действие, допустим, вывести просто это время на экран?