Что происходит, когда digitalWrite(pinname, LOW) вызывается после pinMode(pinname, INPUT_PULLUP)?
Я читал официальные документы Arduino по digitalWrite и смущен тем, что происходит с электрической точки зрения, когда digitalWrite вызывается на выводах INPUT_PULLUP.
Скажем, мой код говорит следующее:
pinMode(4, INPUT_PULLUP);
digitalWrite(4, LOW);
Врачи говорят:
Если PIN настроен в качестве входного сигнала, то функция digitalWrite() включится. (ВЫСОКИЙ) или отключить (НИЗКИЙ) внутренний подтягиватель на входном выводе. Рекомендуется установить pinMode() в INPUT_PULLUP, чтобы включить внутренний подтягивающий резистор. Дополнительные сведения см. в руководстве по цифровым контактам .
Означает ли это, что контакт 4 плавает или находится на земле? Эквивалентны ли эти две строки кода pinMode(4, OUTPUT); digitalWrite(LOW);
?
@rfii, 👍0
Обсуждение1 ответ
Лучший ответ:
Это довольно явно указано там, в вашей цитате: если вы пишете НИЗКИЙ уровень, когда в режиме ВВОДА он отключает подтягивающий резистор. Вот и все, что он делает.
pinMode(4, INPUT);
digitalWrite(4, HIGH);
это точно так же, как:
pinMode(4, INPUT_PULLUP);
И
pinMode(4, INPUT_PULLUP);
digitalWrite(4, LOW);
это точно то же самое, что
pinMode(4, INPUT);
Конечно, это использует особенность блока ввода-вывода AVR, но любое приличное ядро будет эмулировать эту функциональность для совместимости со старым кодом.
Спасибо, не могли бы вы ответить на часть вопроса о том, если pinMode(4, INPUT);
оставляет pin плавающим или он находится в GND?, @rfii
Вывод, установленный для ввода без подтягивания и ни к чему не подключенный, *всегда* плавает. Он никогда не может выводить что-либо или быть установлен на какой-либо уровень, если он явно не настроен на ВЫВОД., @Majenko
- Как узнать сопротивление внутреннего подтягивающего резистора?
- Невозможно использовать аналоговые контакты в качестве цифровых входов
- Входной сигнал сильно колеблется
- Использование вывода светодиода для ввода
- как узнать, какая батарея (сколько ампер и напряжение) нужна моей схеме для идеальной работы?
- Обработка выходного тока Arduino
- как изменить выходной ШИМ на основе аналогового входа
- Можно ли поставить arduino последовательно с зарядным устройством?
посмотрите на раздел 14.2 из https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf, @jsotola
Спасибо, я новичок в EE и arduino, поэтому я думаю, что мне нужна помощь в понимании того, что означает этот документ. Я пытаюсь понять, какого поведения следует ожидать. Вы также говорите, что это зависит от чипа?, @rfii
определенно зависит от чипа, но, вероятно, очень похоже, @jsotola