DMA+USART接收数据,为什么只能接收到一次

2019-08-22 15:48发布

STM32F205 DMA+USART接收数据。按照网上的说法,总线空闲中断里已经关掉了DMA,而后设置传输次数重启,可是还是只能接收一次。之后DMA_GetCurrDataCounter(DMA1_Stream5)返回值一直都是初值。代码:
rx_len = USART2->SR;rx_len = USART2->DR;
USART_ClearITPendingBit(USART2, USART_IT_IDLE);
DMA_Cmd(DMA1_Stream5, DISABLE);
。。。。。。
。。。。。。
while(DMA1_Stream5->CR & (uint32_t)DMA_SxCR_EN);        //ÅD¶ÏS5CRμÄENλêÇ·ñÎa0
DMA_SetCurrDataCounter(DMA1_Stream5, UART_RX_LEN);
DMA_Cmd(DMA1_Stream5, ENABLE);


谁能帮忙看看是怎么回事????



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。