# STM32 UART: combining interrupt and DMA modes

I am trying to use UART3 of STM32F103K8 to rx data in interrupt mode and tx in DMA mode. Reception works well, but transmission has a bug: first portion of data is transmitted just fine and ISR is called. After that, huart.gState == HAL_UART_STATE_READY is never achieved and any subsequent transmission fails.

So, the questions are:

1. Is it OK to use interrupt mode rx and DMA mode tx for single UART? Are there any examples?
2. Given that all DMA channels have same preemption priority and are used havily and simultaniously, can it potentially result in data loss, IRQ conflicts or have other negative consequenses?
• yes, i just think of tx nd x as independent to be honest but I do not use HAL. I roll my own. I do not trust HAL because you never really know what it is doing – DKNguyen Nov 26 '19 at 14:23
• Thanks. Yes, HAL is buggy and has a big overhead, but the project is based on that library. Still trying to figure out the cause, UART1 in same project has almost identical code but uses DMA for both rx and tx. – Fedorov7890 Nov 26 '19 at 14:31