No pude encontrar el esquema interno específico para la parte de NXP en el Manual del usuario , por lo que Explicará usando el que se encuentra en ATMEL ATMega328 , pero deberían verse similares.
Laimagenmuestraelesquemainternodeunsolopin.Lapartemásdestacadaeslapartedelpindedireccióndelpuerto.Cuandoelpuertoseconfiguraensalida(atravésdelbusdedatos,dondesepuedeconfigurarcadapinindividualmentecomoEntradaoSalida;yatravésdelaseñaldecontrolinternoWDx,que"resalta" los datos en el bus de datos al flip-flop), el el búfer se activa y comienza a conducir el pin a los niveles lógicos (voltajes) en el pin de salida *.
Cuando el pin se establece como entrada, el pin de habilitación en ese búfer se configura para que el búfer sea una salida de alta impedancia, por lo que no conduce al pin a ningún nivel de voltaje específico. Eso se convierte en una tarea para los circuitos conectados a ese pin en el circuito fuera del microcontrolador. Tenga en cuenta que, en el caso de Atmel, la lectura del estado lógico de un pin (parte inferior del esquema) siempre lee el estado real de ese pin, no importa si se trata de un pin de entrada o salida. La configuración de un pin como entrada también permite al usuario habilitar la resistencia de pull-up dentro del microcontrolador.
*: Ignoro el colector abierto y otros tipos de pines porque creo que no es relevante para esta pregunta. Sin embargo, el funcionamiento debería ser similar.
Cómo la configuración / eliminación del pin lo hace como salida / entrada. Creo que se debe a los transistores pull-up y pull-down pero no pude concluir una razón específica.
Tenga en cuenta que configura el registro de dirección, no el estado del pin en sí. Son cosas diferentes. La configuración / eliminación de los pines le indica al hardware qué voltaje se debe colocar en la salida del búfer de salida (cuando está habilitado por el pin habilitado), mientras que la configuración / eliminación de la dirección del pin le indica al micro si el búfer de salida será habilitado o deshabilitado en absoluto.