¿Sabe cómo usar USART en STM32?

0

He estado haciendo USART en STM32 y obtuve esto en putty:

Enrealidadquieromostrar:

printf("*  Thank you for using the board");

¿Tienes idea de por qué?

    
pregunta Rick Ant

4 respuestas

0

Solución, ya olvidé poner el convertidor MX232.

    
respondido por el Rick Ant
3

Esto podría ser una gran cantidad de cosas. Lo mejor que se puede hacer en la resolución de problemas es evitar o aclarar los supuestos:

  • ¿Corregir la velocidad en baudios? (¿demasiado alto?) Verifique ambos lados
  • Configuración incorrecta del puerto COM (bits de inicio / parada / datos / paridad). Compruebe ambos lados. No asuma valores, como escribir 1 en el registro de bitios de parada significa 1 bit de parada. En NXP LPC2129 (ARM7) esto significa 2 bits de parada. Una vez me quedé atrapado en eso durante horas, descubriendo por qué no podía enviar más de 1 personaje a la vez ...
  • Verifique el tiempo en el analizador de alcance o lógico (a 9600 en contraposición, un pulso corto debería tomar 1/9600 segundos). Si está utilizando altas velocidades en baudios y un 'cristal impar' (20MHz en 115k2 o superior), es posible que deba configurar un divisor de velocidad en baudios fraccional para que se asemeje mejor a las velocidades en baudios.
  • Vuelva a ejecutar los cálculos de la hoja de datos para la velocidad en baudios. Busque, mida, aclare todas las velocidades de reloj y otros divisores configurables.

Editar: por último, pero no menos importante: ¿está bien tu hardware? Pantalones cortos, puntos de soldadura faltantes, componentes, etc.

    
respondido por el Hans
2

Estoy de acuerdo ...

intento de descifrado .. muchos más personajes sugieren que la velocidad de Putty es demasiado rápida. muchos de los 5 5 ascii = 53d = 35h = 00110101 ahora se lee de derecha a izquierda LSB 1st .. hmmm                    ó ascii = 162d = A2h = 10100010 ha fallado... lea los conceptos básicos de UART enlace entonces arregla los ajustes de partido

Un truco realmente bueno que solía hacer en los años 70 era hacer un cable dúplex o Y para el puerto serie y registrar los datos o el alcance mientras está conectado al dispositivo. Las unidades de receptores de Autobaud eran realmente agradables en ese entonces hasta que tuve que diseñar una.

    
respondido por el Tony EE rocketscientist
0

Probablemente estés en la velocidad de transmisión incorrecta en masilla.

    
respondido por el Brian Carlton

Lea otras preguntas en las etiquetas