Выходное значение GPIO не меняется

Я пытаюсь настроить выходной вывод GPIO на своей плате Nitrogen6X, но не могу изменить файл value. Я перешел на /sys/class/gpio/ и экспортировал свой пин (GPIO18) с помощью echo 18 > export. Затем я смог изменить direction с помощью команды echo out > direction, и мне кажется, что я смогу изменить value файл таким же образом, с помощью echo 1 > value, но это, похоже, не работает. Я вошел в систему как root, и права доступа к файлу direction и файлу value одинаковы: -rw-r--r-- 1 root root.

Есть ли у кого-нибудь идеи, почему бы это не писать в этот файл?

Большое спасибо за вашу помощь!


person Eman    schedule 07.08.2013    source источник
comment
возможно, есть другой процесс, который изменяет значение вывода, вы уверены, что этот вывод вообще свободен? Вы можете использовать lsof, чтобы проверить занятые ресурсы.   -  person hich9n    schedule 08.08.2013


Ответы (1)


Команды, которые вы указали, должны работать, если номер gpio правильный. Хотя я, в частности, не работал с Nitrogen6X, я обнаружил, что номера контактов Linux GPIO часто не совпадают с метками на плате. Я советую попытаться найти правильное отображение экспериментально, просмотрев все возможные GPIO:

cd /sys/class/gpio
for x in `seq 1 128`; do echo $x > export; done

заземлите соответствующий вывод через резистор 10 кОм, запустите:

grep . gpio*/value > /tmp/values0

подключите соответствующий вывод к Vcc через резистор 10 кОм, запустите:

grep . gpio*/value > /tmp/values1

различать файлы и обращать внимание на то, какой пин изменился.

person theamk    schedule 02.09.2013