新手请教大虾,在USART中用DMA方式传输时,USART是怎么向DMA发送请求信号的呢?是对寄存器的哪一步操作发出的信号吗?比如现在我编写一个程序,每按键一次就用DMA发送一个字符串,最后找了个办法就是在按键中断程序中添加以下代码:
USART_ClearFlag(USART2,USART_FLAG_TC);
DMA_Init(DMA1_Channel7,&DMA_InitStruct);
DMA_Cmd(DMA1_Channel7,ENABLE);
while(!USART_GetFlagStatus(USART2,USART_FLAG_TC));
DMA_Cmd(DMA1_Channel7,DISABLE);
每次都要重新初始化及使能DMA,请问有什么别的方法可以让同一外设重复请求DMA吗?? |