Вопрос по GPIO в "Апельсинке"


  • 0

    Подскажите пожалуйста.
    Экспортировал нужные пины, выставил mode(direction) и value, полюбовался как всё работает. А как это правильно завершить то, точнее на default сбросить ?
    Если я делаю unexport выставленные режимы на пинах сохраняются (хотя папка /sys/class/gpio/gpioXX удаляется). Значит по идее надо “ручками” за собой убирать, но как ? Где-то вычитал что нужно переводить всех в mode IN, так ли это ?
    И еще вопросик, если программно реализовывать работу, надо ли после
    export -> set direction -> set value делать -> unexport сразу ?
    Спасибо и извините если вопросы глупые. :)



  • 1

    Каким образом выполняли export? Используете WiringOP?



  • 2

    покурив маны всякие, я нашел 3 способа управлять GPIO.

    1. через wiringOP, имхо, самый кривой способ, т.к. это порт либы под “малину” отсюда не все работает.
    2. через модуль gpio-sunxi
    3. просто напрямик, через sysfs.
      3й способ - показался самым простым\надежным, через него и делал.
      пример (баш скрипта):
      echo 6 > /sys/class/gpio/export
      создается каталог в /sys/class/gpio/gpio6/… где уже и управляю OUT\IN и прочие настройки.
      просто в мануале была такая строчка
      \When you are done unexport the pin
      вот и решил уточнить. мало ли.
      Спасибо.


  • 3

    вообщем покурив еще маны\форумы\здравый смысл, сам ответил на свои вопросы =) возможно кому пригодится.

    1. unexport делать не надо сразу, т.к. не получится interrupts-ы отлавливать :D
    2. дефолтное состояние пинов - input pull-down
      Отсюда вывод - экспортировали, делаем что хотели (считываем значения, выставляем, мучаем датчики и прочая) и только когда решаем завершить работу - выставляем все использованые пины в input(pull-down) и unexport.




Похоже, подключение к PiBoard было разорвано, подождите, пока мы пытаемся восстановить соединение.