¿Es posible en general tener un pin de uC atascado en 0, incluso cuando la alimentación está apagada? Particularmente estoy interesado en stm32f3
Sí, es posible, incluso probable.
La mayoría de los pines tienen circuitos de protección contra sobretensiones para evitar que las pequeñas descargas capacitivas dañen el chip. A veces, los circuitos son más elaborados, pero a menudo hay simplemente diodos inversos a la alimentación y la conexión a tierra.
Esto significa que cuando la tensión de alimentación es 0, el diodo de protección de un pin conducirá si la tensión del pin supera la tensión de giro del diodo, alrededor de 600 mv. Dado que es un nivel lógico bajo para casi cualquier entrada digital, los pines de los microcontroladores sin alimentación en el mismo terreno se leerán como bajos.
En general, no es bueno permitir que fluya demasiada corriente a través de los diodos de protección. Si los diodos son lo suficientemente robustos, a veces puede encender o parcialmente encender el micro forzando un pin de E / S en alto. Sin embargo, espere que actúe escamoso. La corriente de alimentación no fluirá a través de todas las rutas previstas, y la tensión de alimentación será una caída de diodo por debajo de lo que esté sosteniendo el pin. Esto también aumenta toda la red eléctrica a la que está conectada la micro, lo que puede tener otras consecuencias inesperadas. Si la red eléctrica consume demasiada corriente, el diodo se apagará. Ahora el pin estará muy por encima de la tensión de alimentación del micro, lo que probablemente dañará algunas cosas más en el micro.
Otro problema es el bloqueo de SCR cuando la potencia real se aplica normalmente. Debido a la forma en que se construye el chip y al sesgo del sustrato, la corriente que fluye hacia un pin mientras aumenta la potencia puede causar una especie de efecto de enclavamiento de SCR. Esto consumirá mucho más de la corriente habitual del micro, lo que puede dañar el micro, la fuente de alimentación o ambos.
Sin más detalles tengo que hacer algunas conjeturas. Cuando la alimentación está encendida y está esperando un 1 lógico pero está midiendo un 0 lógico, aquí hay algunos errores típicos:
Cuando la alimentación está apagada: el voltaje (medido a la tierra de la parte) está flotando (impedancia muy alta), por lo que es probable que lea cero con un medidor. Este es el comportamiento esperado
Si aparentemente está conectado a Vss con la alimentación apagada y es un GPIO, es probable que esté dañado y sufra un cortocircuito. Probablemente notará un aumento en el suministro de corriente si intenta conducirlo alto con la energía encendida.
Lea otras preguntas en las etiquetas microcontroller power-supply stm32f3