Nunca he usado un DMA antes y estoy leyendo la hoja de datos del Atmel SAM 4E Esta pregunta no necesariamente tiene que estar relacionada con este dispositivo, se puede aplicar a cualquier dispositivo que admita DMA si todos funcionan esencialmente igual.
¿Pero cuántos datos puedo transferir?
Si el transmisor y el receptor tienen un FIFO de 4 profundos, entonces puedo transmitir 4 bytes de forma segura, sin tener que preocuparme demasiado por la pérdida de datos. Entonces tendré que esperar hasta que pueda obtener alguna indicación de que el fifo está claro y listo para aceptar más datos.
Esto luego me lleva a usar UART controlado por flujo.
Si configuro el lado de transmisión y el lado de recepción para admitir el control de flujo, ¿ el transmisor pausará la transmisión cuando vea que el CTS no está configurado desde el receptor y se reanudará cuando el CTS esté configurado?
Si esto es cierto, entonces asumo que es posible enviar tantos datos como quiera sin tener que leer directamente los registros de recepción de UART y enviar tantos datos como quiera.