AnsweredAssumed Answered

STM32F07X using DMA transmit UART fail

Question asked by AMP HF on Aug 1, 2017
Latest reply on Aug 1, 2017 by Clive One

First, I introduce the background simply. I have program the STM32F072RB for somedays. I do this project start with STM32CubeMX.

It’s going well until now. I have using the 2 DMA for SPI transmit before. And I want to reduce MCU’s work, so I change MCU transmit function (HAL_UART_Transmit) to DMA transmit (HAL_UART_Transmit_DMA). But the MCU would do nothing when it executes this code.

The uart works well before I change the uart transmit to DMA transmit.

The DMA configuration is shown below.

The code:

static void MX_DMA_Init(void)
{
/* DMA controller clock enable */
__HAL_RCC_DMA1_CLK_ENABLE();

/* DMA interrupt init */
/* DMA1_Channel2_3_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel2_3_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel2_3_IRQn);
/* DMA1_Channel4_5_6_7_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel4_5_6_7_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel4_5_6_7_IRQn);

}

 

My question is, what’s wrong with the DMA transmit?

Outcomes