Estoy intentando configurar el periférico STM32F4 USART. Pensé que USART Pin del receptor (RX) debe programarse como Función alternativa para que USART funcione correctamente y, a continuación, los datos que se encuentran en el pin de E / S se pueden mover al USART Receptor de registro de turno.
Quiero decir que de acuerdo con las siguientes imágenes tomadas del manual de referencia STM32F4, cuando configuramos un pin como Función alternativa , da lugar a que los datos se muevan a la entrada de la función Alterna (aquí es el registro de desplazamiento del receptor) pero cuando ese pin se configura como entrada flotante (segunda imagen), los datos de ese pin se muestrean en el registro de datos de entrada.
Entonces,lógicamente,creoqueUSARTnopuedehacersutrabajocorrectamentecuandoelpindelReceptorestáconfiguradocomoentradaflotante.¡Peroincreíblementefuncionademaneracorrectaynoséporqué?!
Elmismoproblemasehatratadoaquí:
Pero no pude encontrar mi respuesta allí.
Editado :
El punto ambiguo es que, sin embargo, en el modo de entrada flotante los datos también se enviarán a las funciones alternativas conectadas. Pero es importante especificar a qué periférico se enviarán estos datos.
Cuando el microcontrolador se inicia desde el modo de reinicio, los valores de reinicio de casi todos los registros son 0, por ejemplo, el pin 7 está conectado a AF0 de manera predeterminada, lo que no es para el periférico USART. Entonces, si seleccionamos el modo de entrada flotante para ese pin y no determinamos qué función alternativa queremos enviar los datos, entonces los datos podrían enviarse al periférico incorrecto en lugar del registro de cambios del receptor USART.
Pero increíblemente sin determinar el periférico que queremos seleccionar como nuestra función alternativa, USART hace el trabajo correctamente. En realidad, mi pregunta es POR QUÉ ¿USART funciona correctamente de esta manera (sin determinar la función alternativa real)?