Un pin digital típico de un microcontrolador generalmente tiene 4 estados posibles:
- salida, 0 lógico
- salida, 1 lógico
- entrada, tri-estado (alta impedancia)
- entrada, resistencia interna de pull-up
En un circuito en vivo, ¿cuál es el método seguro más simple para verificar en cuál de los 4 estados anteriores se encuentra un pin específico? Supongamos que tenemos un multímetro simple y componentes pasivos básicos, si es necesario. Los pines de tierra (GND) y de potencia (Vcc) son conocidos.
# 1 es el más sencillo de identificar. Si mido el voltaje entre Vcc y el pin, y es el mismo que entre Vcc y GND, lo encontramos.
El # 3 también debería ser obvio, porque en teoría no genera ni hunde ninguna corriente significativa, por lo que no debería medir ningún voltaje significativo, ni entre el pin y la GND, ni entre el pin y Vcc. Sin embargo, debido a las características de los multímetros digitales, y ese estado triple no tiene una resistencia literalmente infinita, ¿puede este método fallar? No quisiera medir la resistencia en un circuito en vivo.
¿Qué hay de diferenciar # 2 y # 4? Ambos darían como resultado lo mismo: el pin tendrá el mismo potencial que Vcc. Como los pines en la configuración de salida generalmente pueden generar más corriente, supongo que podría ponerle más y más carga, pero esto no está exento de riesgos. Además, esto podría depender en gran medida del tipo de circuito que queremos probar.
Editar: Supongamos que el pin no cambia de estado mientras se realiza la medición.