Os resistores pull-up / down (internos ou externos) são necessários apenas para os pinos de entrada da MCU? Por outro lado, um pino MCU configurado como OUTPUT "sabe em que nível está" porque faz a condução - um pino "flutuante" MCU OUTPUT amarrado a alguma entrada de outro circuito não faz sentido, porque o estado do pino MCU só pode ser alto ou baixo ... eu tenho isso certo? Agora, após a inicialização ou falha do MCU, pode ser benéfico ter um pull-up / down vinculado a esta linha "Saída MCU para entrada de IC" para garantir que a entrada para algum IC nunca esteja flutuando.
Talvez eu tenha respondido minha própria pergunta aqui ... resistores pull-up / down podem ser usados nos pinos de entrada e saída, dependendo da aplicação?
Você está certo; normalmente você não precisa de pullups nas saídas, mas elas podem ser úteis para manter a segurança durante o tempo de inicialização etc.
Um outro motivo para usar um pull-up em uma saída: se várias saídas de vários MPUs estiverem conectadas uma à outra, você realmente não quer uma unidade VCC e outra unidade 0V no mesmo fio! Então você dirige 0V na saída ou a desliga (talvez configurando-a como uma entrada). Quando todas as saídas estão desligadas, o fio é puxado para '1' (Vcc) pela tração. Isso é chamado de sinal "AND com fio". (Você pode fazer o mesmo acionamento '1' ou desligado, com um R suspenso, depois é chamado de OR com fio).
Esse padrão tem vários usos, incluindo permitir que qualquer MPU sinalize um erro ou acenda um LED ou permita que todos revezem o envio de mensagens um para o outro em um único fio.
fonte
Como você afirmou, o uso de resistores pull-pull / pulldown nos pinos que se espera serem pinos de saída pode estar lá para garantir um estado de entrada.
Isso é feito para reduzir a falha do firmware / MCU, mas funcionará apenas para proteger contra o estado de alta impedância (basicamente o pino é configurado como entrada por acidente).
Na maioria das MCU, eu conheço os pinos de E / S padrão para o estado de entrada de alta impedância na inicialização (mas não há garantia, e não tenho experiência em nenhum lugar perto de todas as famílias de MCU), o que significa que pode levar algum tempo até o código inicializar o pino. estado é executado.
Às vezes isso não importa, outras vezes.
fonte
A resposta é que depende da família de microcontroladores e o comportamento padrão está no Power On Reset. Se o microcontrolador puder ser configurado apenas para "saída" ou "entrada" em um pino, isso normalmente significa que ele está usando um driver Totem-Pole para saída - ou seja, é essencialmente a saída de uma porta CMOS, nesse caso a a saída é sempre direcionada a um trilho, portanto não há razão para influenciá-lo passivamente. O único caso em que faz sentido usar pull-ups / pull-downs em uma saída é quando ele é configurado como topologia Open Collector / Open Drain. É muito mais comum ver opções internas de pull-up / pull-down que são aplicáveis apenas quando um pino é configurado como entrada. Se você pode garantir que em seu sistema a entrada seja sempre motivada por algo, isso desperdiçará um pouco de energia.
fonte
Você pode ter um pino que é uma saída algumas vezes , como para I2C.
fonte