Какова власть в состоянии GPIO?

Каково состояние GPIO при подаче питания? например, High, Low, Hi-Z?

Также любая ОС изменяет состояние любых GPIO при загрузке? Надеюсь, что нет.

33 голоса | спросил John La Rooy 13 J000000Friday12 2012, 08:33:56

2 ответа


11

Я нашел ответ здесь благодаря russellstrong . Я цитирую соответствующую часть ниже

  

Я подскочил к выводам о моих подтягивающих резисторах /чувствительности   от моей схемы до выталкивающих резисторов. RPi не устанавливает   GPIO для вывода при первой загрузке. Он поворачивает вниз   резистор на 740 миллисекунд.

     

Я использовал два резистора 18K (3v3 -> GPIO -> GND), чтобы посмотреть на   точно, что происходит с контактами. Вот и след. Синяя линия   3v3, желтая линия - линия GPIO.

введите описание изображения здесь>> </p></body></html>

ответил John La Rooy 18 J000000Wednesday12 2012, 14:18:46
8

Когда вы начали использовать рекомендуемый дистрибутив Debian для RPi, GPIO отключен. Вы должны включать каждый вывод отдельно.

Если вы делаете это через /sys , вы найдете интересные «Paths in Sysfs» (поиск в http://www.kernel.org/doc/Documentation/gpio.txt ). В частности, вы бы включили булавку, «экспортируя» ее. Любые приведенные ниже команды предполагают, что вы запускаете с правами root (sudo или иначе), или вы изменили разрешения /права собственности на измененные виртуальные файлы.

echo 4 > /sys/class/gpio/export

Это позволяет GPIO-контакт №4, который затем вызывает /sys /class /gpio /gpio4, который содержит несколько виртуальных файлов. Эти файлы включают в себя «направление», которое определяет, является ли это входным или выходным выводом, «значение», которое доступно только для чтения для ввода или записи для вывода и содержит текущее значение и другие.

echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory

Конечно, вы, вероятно, предпочтете использовать какую-либо существующую ранее библиотеку, чтобы делать GPIO, поставляемый с или совместимый с вашим выбранным языком. Но если вы хотите что-то простое, вы можете просто напрямую взаимодействовать с sysfs, чтобы сделать очень простой GPIO.

ответил Dusty W 18 J000000Wednesday12 2012, 02:20:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132