Sequential calls to HAL_UART_Transmit_DMA Unexpected Behavior.
Hey guys/gals, I have a UART TX and DMA issue, I can't call HAL_UART_Transmit_DMA sequentially in the same functions, the first call is successful but the UART gstate gets stuck in the TX_BUSY state so a second call fails to execute.
Heres some details of my problem.
Using a STM32F031F6P7TR - STM STUDIO AC6 - HAL DRIVERS
Upon the HAL_UART_Receive_DMA callback, I call a function to send over a list of menu options to the user in the UART Receive callback. Reception of data is working very well.
Here is my problem, I am not able to send the HAL_UART_Transmit_DMA back to back within the scope of the same function. The first TX will transmit successfully, then the UART gState gets stuck in the busy state, and no data can be successfully sent until the function completes.
I created a method that counts the remaining DMA transactions and once there are no more left, i manually force the UART to ready and unblock for the second transmission. Could anyone help me see what I am doing wrong. I would love to be able to insert a small delay between the two statements.
Please let me know if any more details are needed or explanations of my code
code can be found at https://github.com/russeree/SushiRoll
