алгоритм работы с последовательной периферией посредством DMA:
1) при инициализации периферии обнуляем все указатели и счетчики PDC, выключаем обмен TXTDIS, RXTDIS
2) в приложении, для того, чтобы принять блок данных, выполняем следующую последовательность действий:
2.1) устанавливаем указатель(и) и счетчик(и) PDC на некоторую заранее определенную область памяти, память должна быть некешируемой
2.2) включаем нужные прерывания - ENDRX, ENDTX, RXBUFF, TXBUFE и др. - в IMR (AIC сконфигурирован заранее)
2.3) разрешаем обмен TXTEN, RXTEN
2.4) занимаемся далее своими делами, ожидая прерывания
3) хендлер прерывания выключает обмен, при необходимости устанавливает новые указатели и счетчики, и снова разрешает обмен - либо играет глобальными флагами(

)
вроде ничего не напутал
p.s. не увлекайтесь иаровскими макросами - в первый раз лучше написать лично с указанием регистров и битов