Каково состояние GPIO при подаче питания? например Высокий, Низкий, Привет-Z?
Также любая ОС меняет состояние любых GPIO при загрузке? Надеюсь, что нет.
Каково состояние GPIO при подаче питания? например Высокий, Низкий, Привет-Z?
Также любая ОС меняет состояние любых GPIO при загрузке? Надеюсь, что нет.
Ответы:
Я нашел ответ здесь благодаря russellstrong . Я цитирую соответствующую часть ниже
Я поспешил к выводам о моих нагрузочных резисторах / чувствительности моей цепи к понижающим резисторам. RPi не устанавливает выход GPIO при первой загрузке. Он включает понижающий резистор на 740 миллисекунд.
Я использовал два 18К резистора (3v3 -> GPIO -> GND), чтобы точно посмотреть, что происходит с выводами. Вот след. Синяя линия - мощность 3 на 3, желтая линия - линия GPIO.
Когда запускается рекомендуемый дистрибутив Debian для RPi, GPIO отключается. Вы должны включить каждый штифт индивидуально.
Если вы делаете это через / sys, вы найдете «Пути в Sysfs» интересными (поиск по адресу http://www.kernel.org/doc/Documentation/gpio.txt ). В частности, вы бы активировали пин-код, «экспортировав» его. Любые команды ниже предполагают, что вы работаете с привилегиями root (sudo или иным) или вы изменили права доступа / владельца изменяемых виртуальных файлов.
echo 4 > /sys/class/gpio/export
Это активирует вывод 4 GPIO, который затем вызывает существование / sys / class / gpio / gpio4, который содержит несколько виртуальных файлов. Эти файлы включают в себя «direction», которое определяет, является ли это входной или выходной вывод, «value», которое доступно только для чтения для ввода или доступно для записи для вывода и содержит текущее значение, и другие.
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.
cat /sys/class/gpio/gpio4/direction
говорит "в". Я прочитал в таблице данных, что невозможно прочитать состояние подтягиваний / раскрытий. Я постараюсь измерить их