Resolved! Do i really need to use HAL_Delay() after each HAL_UART_Transmit()?
so i was following an online tutorial (from digikey, where they teach how to use dma) and in it the values from ADC is transmitted through DMA to a buffer of decent size (4096byte). But it seems they always use the hal delay function after using uart...