Який стан GPIO, коли застосовується живлення? наприклад високий, низький, привіт-Z?
Чи будь-яка ОС змінює стан будь-яких GPIO, коли вона завантажується? Сподіваюсь, що ні.
Який стан GPIO, коли застосовується живлення? наприклад високий, низький, привіт-Z?
Чи будь-яка ОС змінює стан будь-яких GPIO, коли вона завантажується? Сподіваюсь, що ні.
Відповіді:
Я знайшов відповідь тут завдяки russellstrong . Цитую відповідну частину нижче
Я перейшов до висновків про мої підтягуючі резистори / чутливість моєї схеми до резисторів, що тягнуться. RPI не встановлює GPIO для виведення при першому завантаженні. Він вмикає висувний резистор протягом 740 мілісекунд.
Я використав два резистори 18K (3v3 -> GPIO -> GND), щоб подивитися, що саме відбувається з шпильками. Ось слід. Синя лінія - 3v3 потужність, жовта - лінія GPIO.
Коли почали використовувати рекомендований дистрибутив Debian для RPi, GPIO вимикається. Ви повинні включити кожен штифт окремо.
Якщо ви робите це через / sys, вам буде цікавим "Шляхи в Sysfs" (пошук у http://www.kernel.org/doc/Documentation/gpio.txt ). Зокрема, ви б увімкнули шпильку, "експортуючи" її. Будь-які команди нижче припускають, що ви працюєте з привілеями root (sudo чи іншим чином) або ви змінили дозволи / право власності на віртуальні файли, що змінюються.
echo 4 > /sys/class/gpio/export
Це дозволяє PIN-код 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.
cat /sys/class/gpio/gpio4/direction
каже "в". Я прочитав у таблиці, що неможливо прочитати стан підтягувань / витягувань. Я спробую їх виміряти