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);
谁能帮忙看看是怎么回事????
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
恩,我也有考虑过,NDTR的值不太可能是0.
不过你提到的这两个中断我在F0系列上确实没有见到过,所以给出的参考不正确。
一周热门 更多>