STM32F0 USART přes DMA/IT podivné chování příjmu (HAL API)

tuto funkci jsem si napsal takhle (je napsána v serial.c). Využívá už funkce samotné API

void serial_transmit(uint8_t *data, uint16_t amount)
{
    HAL_UART_Transmit_DMA(&huart1, (uint8_t*)data,amount);
    while (UartReady != SET)
        ;
    UartReady = RESET;
}

Callback pro dokonečně vysílání vypadá takhle

void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
    UartReady = SET;
}