Establecer GPIO bajo mientras se extrae alto de una fuente externa

Tengo un GPIO de 3,3 V que estoy configurando para una salida y configurando su valor en bajo durante el inicio. Pero, ¿qué sucede si el Pin también se configura en alto desde otra fuente (es decir, otro GPIO)?

así que básicamente

Salida GPIO1 y configuración baja <-------> Salida GPIO2 y configuración alta

durante el inicio

Sé que esto es probablemente solo electrónica básica, pero realmente no tengo ni idea.

Supongo que el voltaje será alto entre ellos mientras estén conectados y cuando no lo estén, GPIO1 volverá a ser bajo. Pero por favor ilumíname para poder sacar esto de mi cabeza.

Muchas veces, los pines lucharán entre sí hasta que uno de ellos muera de forma permanente. Agregue una resistencia en serie en estos pines para evitar que los pines del puerto se dañen si existe la posibilidad de que dos pines de salida estén unidos. Algo así como una resistencia en serie de 330 ohmios puede funcionar, pero debe mirar las especificaciones eléctricas de los pines del puerto para estar seguro.
Tenga en cuenta que hay momentos en los que puede notar dos pines de salida conectados entre sí. Por lo general, los pines se configurarán como "Open-Collector". En este modo, los pines pasarán a un voltaje bajo (0) cuando se establece en bajo, y a un estado de alta impedancia cuando se establece en alto. Esto permite que los dos pines de salida se conecten entre sí, y con una sola resistencia pull-up externa agregada, esto se convierte esencialmente en una salida de puerta NOR. Incluso con salidas de colector abierto, se debe tener cuidado con las condiciones de los pines durante el encendido y manejar el peor de los casos.

Respuestas (1)

Cuando configura el GPIO del microcontrolador para que sea bajo, su circuito interno está configurado para hundir la corriente en VSS (o GND, según cómo estén etiquetados los pines en la pieza). El otro extremo de la señal que dijiste es como otro GPIO (tal vez el mismo MCU o tal vez otro) que está configurado en un nivel alto y se configurará a través de su circuito interno para obtener corriente del suministro positivo de VDD. Entonces, cuando están conectados, la corriente fluirá desde el GPIO alto al GPIO bajo.

Esta condición se llama contención y generalmente no es muy buena para los pines GPIO. La corriente que puede fluir puede exceder con creces las clasificaciones de corriente de fuente y sumidero normales para los pines y, por lo tanto, podría provocar daños permanentes en las partes desde las que se conectan los GPIO.

Cuando esté en disputa, el cable que conecta los dos pines irá a algún nivel de voltaje entre VDD y VSS. Cada uno de los dos circuitos GPIO tendrá cierta resistencia intrínseca que limita la corriente de contención a algún nivel. Estas dos resistencias intrínsecas actuarán como un divisor de tensión que a su vez determina el nivel de tensión de contención.

Como ya puede suponer, no es una buena idea mantener dos GPIO configurados en una situación de contención. Si se trata de una conexión accidental, debe eliminar el cortocircuito entre las clavijas lo antes posible para evitar daños permanentes a los dispositivos. De lo contrario, siempre debe tomar medidas de diseño para evitar que se produzcan condiciones de contención. Si es inevitable, el diseño de su circuito debe incluir disposiciones para limitar el flujo de corriente a un nivel que esté dentro de las especificaciones de diseño para ambos GPIO. Este último punto es importante porque las especificaciones de fuente y receptor de los dos GPIO pueden ser diferentes.