¿Cómo depurar UART?

El firmware de mi módulo es compatible con UART, printf()lo que creo que podría ser bueno para la depuración, pero ¿cómo se pueden leer los mensajes? Actualmente estoy usando solo un cable USB a serie. Intenté usar PuTTy, pero todo lo que veo es un galimatías, por ejemplo,

▒)▒ɜ▒] ▒▒▒▒9~▒!▒▒!▒▒▒▒▒▒J=▒▒H▒] ▒,▒▒H9▒ ▒▒H▒▒Ȇ

¿PuTTy es realmente adecuado para el trabajo?

La masilla debería estar bien. Compruebe la configuración de serie, en particular la velocidad de datos/baudios. El controlador USB utilizará esta configuración para configurar el UART dentro del módulo USB.
Para la depuración de bajo nivel, etc. Encuentro que Terminalbpp de "Br@y" es una herramienta mucho mejor que Putty, puede mostrarle el binario sin procesar que recibe como valores hexadecimales en lugar de solo ASCII destrozado: sites.google.com/site/terminalbpp

Respuestas (3)

¿Ha comprobado su configuración de baudios, inicio y parada? Pruebe con diferentes valores (por ejemplo, 9600,n,8,1)

Todo bien ahora. Necesita 115200.

Si tiene algo de dinero para invertir, le recomiendo un analizador lógico. Sugiero: www.saleae.com.

En este software de captura puede configurar la comunicación (USART, SPI, I2C ..) y ver los datos decodificados de varias maneras.

Si bien un analizador lógico podría ser útil para ciertas cosas, no necesita invertir dinero para leer la salida de datos a través de una interfaz UART que funcione correctamente con configuraciones conocidas de paridad y velocidad en baudios. Cualquier software de terminal decente gratuito/de código abierto/incluido con su sistema operativo favorito hará el trabajo en este caso.
En parte estoy de acuerdo, pero cuando necesitas un DEBUG adecuado, algo que depure el hardware... la señal física es importante como un osciloscopio o un analizador lógico.
Las Salae LA cuestan cientos y cientos. No los recomiendo a menos que seas un profesional. Hay montones de alternativas mucho más baratas. No menos importante, el hantek 6022bl, que es un osciloscopio analógico y un LA de 16 canales (solo 8 usan el sigrok SW, que de otro modo sería superior).

Parece que el resultado que publicaste contiene caracteres no imprimibles. En este caso, puede probar HTerm . La página es alemana, pero el programa es inglés.

No solo muestra muchas configuraciones RS232, también muestra datos simultáneamente en ASCII, hexadecimal, decimal y binario. También permite enviar datos dados cada x segundos.

(Por supuesto, esto no ayuda si necesita depurar la transmisión de la señal).

ingrese la descripción de la imagen aquí