Попробую подсказать по памяти. DMA нужно перевести в обычный режим.
Каждый раз при передаче буфера:
1) Останавливать DMA
2) Настраивать длину передачи
DMA_InitStructure.DMA_BufferSize = 48;
3)Настраивать адрес откуда брать данные
DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)COMBuffer;
4) Разрешать работу DMA.
DMA работает по событиям в данном случае - пустой регистр передатчика UART.
Можно работать и в DMA_Mode Circular.
Тогда для запуска пересылки массива достаточно разрешать DMA.
Но для этого нужно найти обработчик прерывания и добавить в него останов DMA по концу пересылки.
В IAR обычно обработчик прерывания пустышка.