AVR USART espera la respuesta de AVR para continuar el protocolo
Estoy haciendo un proyecto senior, 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 cambios. Esto debe hacerse automáticamente y muy rápido. No puedo ingresar manualmente el texto en el terminal. Necesito enviar 3 cadenas, línea por línea a un AVR y esperar entre cada línea una confirmación para continuar con el AVR.
- El archivo de texto es un archivo midi convertido que contiene 3 información útil (la hora del evento, la nota y el estado (nota de prensa o descompresión). El archivo de texto tiene este aspecto:
213, 25, ON
321, 25, OFF
521, 36, ON - > que representa tocar la Nota C en el tiempo = 521 ms
El protocolo debería tener este aspecto:
- La PC envía 3 cadenas al AVR. Así que un total de 3 transferencias USART.
- La PC espera a que AVR envíe un agradecimiento para continuar transfiriendo la siguiente línea de texto
- El AVR reproduce el "evento" en el piano y al final envía una confirmación a la PC para enviar las siguientes líneas de texto
¿Cómo se puede lograr esto?
¿Por qué hago esto?
El problema es que no puedo almacenar todo el archivo de texto en una matriz porque el AVR es demasiado pequeño (la memoria más grande es de 512Kb si recuerdo bien) Necesito transmitir el archivo de texto usando el terminal (Hyperterminal) línea por línea. PERO cómo enviar una línea usando el terminal, espere hasta que la atmega finalice el proceso - > ¿Enviar una confirmación a la PC para transmitir la siguiente línea?