¿Por qué el pin del receptor USART está configurado como "entrada flotante"?

2

Lea este buen tutorial sobre cómo configurar el USART en un STM32, el párrafo Configuración del bus dice que el pin del receptor (Rx) debe configurarse como entrada flotante.

Pensé que debido a que la función del pin del receptor es actuar como receptor USART , debería configurarse como función alternativa USART.

¿Por qué el pin receptor (Rx) está configurado como entrada flotante en lugar de la función alternativa USART?

    
pregunta Randomblue

2 respuestas

1

¿Qué procesador STM32 está utilizando? El comportamiento que describe es típico de muchos procesadores, donde es necesario conectar explícitamente los controladores de periféricos a los pines de salida, pero donde están conectados implícitamente a las entradas (ya que tales conexiones generalmente son inofensivas). Por otro lado, cuando estaba usando un STM32L151, tuve problemas para que funcionara el UART hasta que seleccioné la "función alternativa" del pin como el UART. ¿Sigues configurando el AFR para ese pin para seleccionar UART? No me sorprendería si el modo de pin se puede seleccionar libremente como "entrada / flotación" o "función alternativa", ya que el UART no manejaría ese pin de todos modos, pero aún así era necesario configurar el AFR de ese pin al UART, para que el UART sepa de qué pin debe aceptar la entrada.

Una topología que me gusta, pero que no he visto en ningún otro lugar por alguna razón (a pesar de que parece ser el enfoque "correcto") se encuentra en algunas partes del microchip, donde la salida de cada pin tiene un mux que selecciona el periférico que debería alimentarlo, pero la entrada de cada periférico tiene un mux que selecciona un pin para alimentarlo. Esto permite que un periférico accione múltiples pines de salida, y permite que múltiples periféricos sean accionados por un pin de entrada. Reconozco que en gran parte una disposición de barra cruzada completa puede ser poco práctica, pero no obstante, seleccionar entradas periféricas de esa manera parece tener varias ventajas, como poder alimentar un pin tanto a un UART como a un disparador de eventos del temporizador ( obteniendo así una marca de tiempo precisa de cuando llega un personaje, incluso si la CPU no puede repararlo al instante).

    
respondido por el supercat
1

Dicen:

  • RX es una entrada flotante (0b0100), que es su estado predeterminado, aunque es posible que desee habilitar la función de activación / desactivación si se adapta a su aplicación. Por último, el reloj periférico APB2 deberá estar habilitado para el USART.

No conozco el STM32 específicamente, pero parece razonable si están configurando la función básica del pin de esta manera y luego asignando un bloque funcional al mismo.

Esto simplemente dice que es un pin de entrada y que, como esperan que sea impulsado por una fuente externa, generalmente no necesita un pullup o pull down para definir su estado predeterminado y, por lo tanto, puede "flotar" como lo hará. Nunca se dejará flotando en la práctica.

Es posible que hayas hecho la pregunta equivalente sobre el pin TX. Ellos dicen

  • El pin TX, PA9 debe configurarse como una salida push-pull utilizando la función alternativa a baja frecuencia (0b1010).

es decir, lo están convirtiendo en una salida genérica sin tener en cuenta su función UART específica.

Claramente [tm] la funcionalidad UART está configurada independientemente de la funcionalidad básica de pin.

Lea más: enlace

Lea más: enlace

    
respondido por el Russell McMahon

Lea otras preguntas en las etiquetas