cancel
Showing results for 
Search instead for 
Did you mean: 

How to set DMA Settings of USART1 of STM429ZI Nucleo board. How to cure?

Da2
Associate II

I try to set DMA setting of USART1_RX, USART2_TX both. Bit MX Error message is occurred. as below figure.20231219_162517.png

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

The chip has a limited amount of DMA streams. If all the streams possible for USART1 are being used for something else, you will be unable to add one for the USART1.

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

View solution in original post

7 REPLIES 7
STTwo-32
ST Employee

Hello @Da2 and welcome to the ST Community .

I can't reproduce your issue. can you share your .ioc file so we can test it?

Best Regards.

STTwo-32

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

TDK
Guru

The chip has a limited amount of DMA streams. If all the streams possible for USART1 are being used for something else, you will be unable to add one for the USART1.

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

Refer the attached file. . RX and TX can not set DMA at same time.

Da2
Associate II

Let me know how to set DMA Streams.

TDK
Guru

You can hover over the red area to find out the reason it can't be set. In this case, because it conflicts with UART8_RX.

TDK_0-1703029563386.png

Okay, now we know why it can't be enabled. But why does it conflict? Take a look in the reference manual at the DMA request mapping table and look at the entries for USART2_TX and UART8_RX. The only option is DMA1 stream 6, which can only be dedicated to one at a time.

TDK_1-1703029906194.png

Therefore, you cannot use DMA with USART2_TX and UART8_RX at the same time.

Your options are to use a different chip (outside the STM32F4 family), or use a different peripheral, or don't use DMA with one of them.

 

(Note that your post says USART1_RX, USART2_TX, but your IOC only has UART8_RX enabled. If you don't need UART8_RX just disable it and use USART2_TX instead.)

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

Thank you. Let me know the manual of Table 42. DMA1 request mapping.

Da2
Associate II

I got manula from your home page. Thank you a lot.