Skip to main content
Visitor II
December 19, 2023
Solved

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

  • December 19, 2023
  • 4 replies
  • 2115 views

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

    This topic has been closed for replies.
    Best answer by TDK

    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.

    4 replies

    Technical Moderator
    December 19, 2023

    Hello @Da2 and welcome to the ST Community :smiling_face_with_smiling_eyes:.

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

    Best Regards.

    STTwo-32

    Da2Author
    Visitor II
    December 19, 2023

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

    TDKAnswer
    Super User
    December 19, 2023

    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.

    Da2Author
    Visitor II
    December 19, 2023

    Let me know how to set DMA Streams.

    Super User
    December 19, 2023

    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.)

    Da2Author
    Visitor II
    December 20, 2023

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

    Da2Author
    Visitor II
    December 20, 2023

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