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?
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.
Super gato