Skip to main content
DPast.1
Associate II
December 3, 2021
Question

STM32L073 DMA Simultaneous RX and TX

  • December 3, 2021
  • 7 replies
  • 2496 views

I've been trying to get simultaneous RX and TX working on USART2 of a STM32L073 and have not been able to get it to work. I've messed around with priorities, order of enabling DMA transfers, etc but always the TX DMA transfer succeedes and the Rx DMA transfer fails.

Looking through the reference manual it suggests to me that perhaps this isn't possible on this device as it states that two DMA transfers cannot have the same request number. When using DMA RX and TX on the same channel with this device unfortunately it appears that the same request number is required.

Does anyone know if it is possible to do simultaneous RX and TX on the STM32L073?

This topic has been closed for replies.

7 replies

Tesla DeLorean
Guru
December 3, 2021

Pretty sure the hardware is capable of this and more, and the RX and TX will be on different channels. Going to pull the RM now

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
Tesla DeLorean
Guru
December 3, 2021

So yes enough channels to do RX+TX on USART1, USART2 and LPUART1 **CONCURRENTLY**

Transfer speeds orders of magnitude slower than the Bus and DMA are capable of, so priority is a complete non-issue.

0693W00000GZyopQAD.jpg

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
DPast.1
DPast.1Author
Associate II
December 3, 2021

I expected the same as it seems like a pretty basic thing to do. The reason I think it might not be possible is the paragraph above that page:

Where is states that two different channels cannot have the same request, in this case #4. This seems rather strange to me as having Tx and Rx on the same channel would be something I'd expect to be able to do.

0693W00000GZyv1QAD.png

TDK
December 3, 2021

The TX request is different than the RX request. The Caution note is saying you can't map, for example, USART2_RX to two channels simultaneously.

If RX DMA did not complete, perhaps data is not coming in, or there are issues with it such as framing.

Perhaps also look more into claim that no data was pushed out. Verify pins are configured appropriately, etc.

"If you feel a post has answered your question, please click ""Accept as Solution""."