Estoy haciendo un proyecto de último año y necesito enviar un archivo de texto grande línea por línea a un AVR (atmega32) que controlará un piano usando ~36 solenoides y registros de desplazamiento. Esto debe hacerse automáticamente y muy rápido. No puedo ingresar manualmente el texto en la terminal. Necesito enviar 3 cadenas, línea por línea a un AVR y esperar entre cada línea una confirmación para continuar desde el AVR.
213, 25, ON
321, 25, OFF
521, 36, ON --> que representa tocar la nota C en tiempo = 521 ms
El protocolo tendría que verse así:
¿Cómo se puede lograr esto?
El problema es que no puedo almacenar todo el archivo de texto en una matriz porque el AVR es demasiado pequeño (el atmega más grande es de 512 Kb si no recuerdo mal) Necesito transmitir el archivo de texto usando la terminal (Hyperterminal) línea por línea . PERO, ¿cómo enviar una línea usando la terminal, esperar hasta que el atmega termine el proceso -> enviar una confirmación a la PC para transmitir la siguiente línea?
Lo que necesita es "control de flujo" o "apretón de manos".
Para USART, puede usar el control de flujo de hardware con RTS/CTS , pero muchas implementaciones de USART en la actualidad los omiten. Si ha terminado su hardware y sin estos pines conectados, puede intentar " control de flujo de software " con "XON/XOFF", porque estos dos códigos no aparecerán en su archivo de texto (son caracteres no imprimibles). Así que utilícelos como control de flujo es posible. Pero en comparación con el control de flujo de hardware, este último puede ser un poco más lento.
La principal limitación con usted es que su MCU no es lo suficientemente fuerte como para manejar todo el archivo, por lo que analizar el archivo en el extremo de la PC es razonable.
Si no quiere sumergirse en un complicado programa USART en la PC, puede probar Tera Term , un asesino "Hyperterminal" de código abierto, programable y práctico.
Ignacio Vázquez-Abrams
david tweed
Napster
Napster
Napster
Ignacio Vázquez-Abrams
david tweed
chris stratton
Ignacio Vázquez-Abrams
Napster
Ignacio Vázquez-Abrams
Napster
Ignacio Vázquez-Abrams
Napster
Ignacio Vázquez-Abrams
Napster
Ignacio Vázquez-Abrams
Napster
david tweed