¿Por qué la resistencia pull-up está deshabilitada en el modo SALIDA?

Noté en muchas micro hojas de datos que la resistencia pull-up interna se desactiva automáticamente cuando el GPIO está en modo SALIDA, pero no estoy seguro de entender por qué. ¿Nunca se necesita una resistencia pull up en el modo de SALIDA? se agradece la explicacion

"¿Nunca se necesita una resistencia pull up en el modo de SALIDA?" Sí, nunca es necesario.

Respuestas (2)

Si la salida está en modo de salida, está conduciendo a nivel alto o bajo.

Si está conduciendo alto, entonces un pull-up hace poco para aumentar la corriente disponible empujando la salida alta.

Si se está agotando, entonces un pull-up solo aumenta el consumo de energía y hace que la salida absorba más corriente para mantener la salida baja.

En el modo de salida, los microcontroladores se configuran en Push-Pull (típicamente), por lo que lo controlan activamente. Solo en casos de Drenaje abierto desea/necesita un pull-up.

Puede ver esto básicamente en CMOS como transistores PMOS y NMOS, cada uno de los cuales impulsa la salida ALTA o BAJA. Un pullup hará que el transistor NMOS en la parte inferior tenga que luchar para llevar el voltaje a 0, desperdiciando energía.

Puede mirar la imagen a continuación que muestra una etapa de salida CMOS digital (en realidad, un inversor que actúa como un búfer).

esquemático

simular este circuito : esquema creado con CircuitLab

@ThePhoton Tienes razón. No miré la pregunta lo suficientemente bien y asumí algo diferente.
"Solo en casos de Drenaje abierto desea/necesita un pull-up". ¿Este dispositivo es específico? Disculpe si es una pregunta estúpida, pero ¿algunos microcontroladores tienen salidas de drenaje abiertas en las que necesitaría un pull-up en SALIDA sin importar qué?
@user28915: No per se, pero el uso de un pullup interno elimina/reduce la necesidad de un pullup externo en, por ejemplo, conexiones SPI o I2C.
Entonces pregunto, porque me dieron una situación en la que la resistencia pull-up interna de ciertos microcontroladores está deshabilitada, pero estoy usando el GPIO para conducir un BJT y no puedo encontrar en la hoja de datos si el GPIO está abierto drenaje. Espero que tenga sentido..
@user28915: Los GPIO son push-pull a menos que se especifique lo contrario.
@user28915: En el 8051, el puerto 0 está abierto. tendría que estudiar la hoja de datos del microcontrolador que está utilizando para determinar si tiene algún puerto de salida de drenaje abierto.