cancel
Showing results for 
Search instead for 
Did you mean: 

MX 6.5 IDE 1.9 STM32H7 bug on DMA UART doesn't make Uart state to ready automatically.

SeyyedMohammad
Senior III

Barely configured UART to transmit with DMA in normal mode. Using HAL_UART_Transmit_DMA(&huart1, &buf, 1); in loop, it just transmit only one time. Why? because it's state become busy and stay in that state.

We must change the uart state manually in dma_cplt routine manually.

I think this must be setted automatically, doesn't it?

Also in normal DMA we can't use: HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)

Then we're forced to place:

huart1.gState = HAL_UART_STATE_READY;

right before:

HAL_UART_Transmit_DMA(&huart1, &buf, 1);

HAL library is really lovely and I hope it to become better gradullay, thanks for your efforts.

0 REPLIES 0