Raspberry 4. Gpio 16 в обычном режиме?
-
Проблема на ровном месте. Не понимаю, подскажите
Есть три пина: 16,20 и 21. Все должны работать как ввод с подтяжкой к 1
GPIO.setup(pin, GPIO.IN,pull_up_down=pdn=GPIO.PUD_UP)
20 и 21 вполне себе нормально, а вот 16 ни в какую
Понимаю, что 16 пин может быть также
spi.... SPI 1 как CE2 N
i2c... SCL6 как GPIO23
sdi0... SD0 CMD/SD1 CMD как GPIO23
Пытаюсь оказаться от всего этого богатства. В raspi-config отключаю spi, i2c
Устанавливаю raspi-gpio set 16,20,21 ip
Контролирую raspi-gpio get 16,20,21:GPIO 16: level=0 fsel=0 func=INPUT pull=UP GPIO 20: level=1 fsel=0 func=INPUT pull=UP GPIO 21: level=1 fsel=0 func=INPUT pull=UP
И всей-то разницы - некий level !?
Вот код теста. 20 и 21 норм, 16 никак. На вход подаю землю через 1 ком
Код (Python):import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) pin = 16 GPIO.setup(pin, GPIO.IN,pull_up_down=pdn=GPIO.PUD_UP) while True: val = GPIO.input(pin) print(val) time.sleep(1)
-
Полезно понимать в каком режиме в определенный момент находится нужный Вам вывод процессора. Он может быть настроен на вход, на выход и на любую из нескольких альтернативных функций. Если с выводами 20 и 21 Вам повезло и их никакая программа не перехватила, то вывод 16 может быть настроен на какой-то не подходящий Вам режим. Это означает что выводы нужно настраивать для себя. Программы для этого в принципе имеются, найти можно. Думаю что справитесь.