Ciao,
l'uso del DMA e' sicuramente un'ottima via ma la cosa che vuoi fare e' certamente laboriosa.
Se hai due buffer circolari (cosa forse non necessaria) quando hai i campioni necessari dovresti eventualmente far puntare al DMA1 i buffer1 e 2 che potresti mettere adiacenti in maniera che il DMA1 veda un solo blocco di memoria e spedisca tutto via UART.
Prima di fare questo dovresti inizializzare il DMA0 e DMA2 su due aree di memoria diverse, eventualmente adiacenti come la prima e continuare con il campionamento.
Quando riempi il buffer sposti il DMA1 sul nuovo indirizzo e DMA0 e DMA2 sui vecchi indirizzi.
E' un'altra idea...
Comunque se non hai usato il DMA in precedenza ti consiglio prima di fare degli esempi sui singoli canali, poi implementare il gioco della UART con un secondo...poi mettere in gioco il terzo canale.
Saluti,
Mauro