I'm running on a STM32L4 processor running FreeRTOS. I do use the HAL s/w for the drivers and their API to read/write to 4 USART interfaces. I'm currently running all of them as just a character interrupt on the receive side. I don't use interrupts for the transmit side.
One USART is connected to a GPS device which is running at 4800,8,N,1 no flow control. I'm getting a lot of over run errors from that interface. When I read up on it apparently this is a sign that I'm just not servicing the interface quickly enough. I was able to make the situation better by slowing down one of the other UART interfaces but the problem did not away.
My question is, will putting in DMA to service this interface help alleviate this problem? Will the MCU appear to be less busy and therefore allow the system to receive the incoming data on the UART's Rx register?