Как по мне, УАРТ не то место, где ДМА необходим. Понимаю, если надо
принимать плотный поток от АЦП, или отправлять что-то много и
быстро. Но УАРТ, по нынешним временам, не тот случай. ДМА может
сократить кол-во срабатываний прерываний, тем сократив среднюю
нагрузку по производительности, но производительности обычно и так
навалом. Другое дело длительность прерывания. Для УАРТ прерывание очень простое и короткое, переложил один байт из регистра в буфер или наоборот и всё, на выход, освободи место. А уж после, вне прерывания, ковыряйся с буферами где угодно и как угодно долго. Никому не помешаешь.
Что до вывода по строкам. Две строки подряд выводить не требуется? И не понадобится впредь?