¿Qué significan estos modos de entrada/salida del pin del microcontrolador?

Compré un stm32f103ret6 . Cuando vi el manual de referencia, vi que tiene varios modos de E/S.

Para entrada: flotante, pull-up, pull-down
Para salida: analógica, open-drain, push-pull

Ya he trabajado con MCU AVR que tienen tres estados y pull-up. Así que puedo entender pull-up y pull-down, pero no puedo entender los modos flotante, analógico, de drenaje abierto, push-pull. ¿Qué significan estos modos y cuándo uso cuál?

Respuestas (1)

Flotante: ni pull-up ni pull-down. Su entrada va efectivamente directamente a la puerta de un FET en algún lugar. Debe usarse con un controlador externo o pullup/down únicamente; no lo deje completamente flotando para recoger ESD.

Analógico (salida): no está del todo claro en la hoja de datos, pero supongo que esta fue la salida de un DAC en algún lugar y, por lo tanto, puede tomar un rango de valores de voltaje.

Open-drain: si se establece en "0", se activará un FET para conectarlo a tierra. Si se establece en "1", se dejará flotante. Se usa para I2C y buses similares donde hay múltiples controladores de drenaje abierto y una sola resistencia pullup en alguna parte.

Push-pull: contiene transistores de salida alta y baja. Rápido, capaz de conducir cosas que requieren un voltaje positivo, pero no debe conectarse a otros controladores. Si se establece en "1", conecta el riel de suministro positivo a la salida a través de un FET.

La diferencia normal entre "flotante" y "analógico" es que el primero enrutará el pin a un búfer de entrada de nivel lógico, lo que permitirá que el código (u otra lógica) vea su estado, pero también hará que se extraiga corriente adicional si no lo hace. no representa un máximo o mínimo válido; este último desconectará el pin del búfer de entrada de nivel lógico, lo que permitirá que el voltaje del pin varíe en cualquier lugar entre los rieles de suministro sin causar un consumo excesivo de corriente.