Czy rezystory podwyższające / obniżające (wewnętrzne lub zewnętrzne) są potrzebne tylko dla pinów MCU INPUT? W przeciwieństwie do tego, pin MCU skonfigurowany jako OUTPUT „wie, na jakim poziomie jest”, ponieważ wykonuje sterowanie - „pływający” pin MCU OUTPUT powiązany z wejściem innego obwodu nie ma sensu, ponieważ stan pinu MCU może być tylko wysoka lub niska ... czy mam to prawo? Teraz, po uruchomieniu lub awarii MCU, może być korzystne połączenie pull-up / down z linią „Wyjście MCU na wejście IC”, aby mieć pewność, że wejście do niektórych układów scalonych nigdy się nie unosi.
Może właśnie odpowiedziałem tutaj na moje pytanie ... w zależności od zastosowania można zastosować rezystory podwyższające / zmniejszające na pinach wejściowych i wyjściowych?
Masz rację; normalnie nie potrzebujesz podciągnięć na wyjściach, ale mogą one być przydatne do zachowania bezpieczeństwa podczas rozruchu itp.
Jest jeszcze jeden powód, dla którego stosuje się pull-up na wyjściu: jeśli kilka wyjść z kilku MPU jest ze sobą połączonych, tak naprawdę nie chcesz jednego napędzającego VCC i drugiego napędzającego 0V tym samym przewodem! Więc albo napędzasz 0V na wyjściu, albo wyłączasz wyjście (być może poprzez skonfigurowanie go jako wejścia). Gdy wszystkie wyjścia są wyłączone, drut jest ciągnięty do '1' (Vcc) przez pullup. Nazywa się to sygnałem „przewodowym AND”. (Możesz wykonać tę samą jazdę „1” lub wyłączyć, z rozwijanym menu R, wtedy nazywa się to przewodowym LUB).
Ten wzorzec ma kilka zastosowań, w tym zezwalanie jednemu MPU na sygnalizowanie błędu lub włączanie diody LED, lub zezwalanie im wszystkim na zmianę wysyłania wiadomości do siebie jednym przewodem.
źródło
Jak już wspomniałeś, użycie rezystorów pullup / pulldown na pinach, które mają być wyjściowymi pinami, może być tam, aby zagwarantować stan wejściowy.
Ma to na celu złagodzenie awarii oprogramowania układowego / MCU, ale będzie działać tylko w celu ochrony przed stanem wysokiej impedancji (w zasadzie pin jest skonfigurowany jako wejście przypadkowo).
Większość MCU Jestem zaznajomiony z domyślnymi pinami IO do stanu wejścia o wysokiej impedancji podczas rozruchu (ale nie ma gwarancji i nie mam doświadczenia z żadnym z pobliskich rodzin MCU), co oznacza, że inicjalizacja kodu może zająć trochę czasu stan jest wykonywany.
Czasami to nie ma znaczenia, innym razem ma to znaczenie.
źródło
Odpowiedź brzmi: zależy to od rodziny mikrokontrolerów, a domyślnym zachowaniem jest Power On Reset. Jeśli mikrokontroler może być skonfigurowany tylko do „wyjścia” lub „wejścia” na pinie, oznacza to zwykle, że używa sterownika Totem-Pole do wyjścia - to znaczy zasadniczo jest to wyjście bramki CMOS, w którym to przypadku wyjście jest zawsze doprowadzane do szyny, więc nie ma powodu, aby pasywnie na nią wpływać. Jedynym przypadkiem, w którym sensowne jest użycie podciągania / rozwijania na wyjściu, jest skonfigurowanie go jako topologia Open Collector / Open Drain. O wiele bardziej powszechne są wewnętrzne opcje podciągania / opuszczania, które mają zastosowanie tylko wtedy, gdy pin jest skonfigurowany jako wejście. Jeśli możesz zagwarantować, że w twoim systemie wejście zawsze jest napędzane przez coś, to marnuje trochę energii.
źródło
Możesz mieć pin, który jest czasem wyjściowy , na przykład do robienia I2C.
źródło