思路:电脑通过串口给STM32发数据,当串口接收到数据后进入中断打开DMA接收传输,当DMA传输完成后产生中断
遇到问题1:串口中断和DMA不能同时使用,求助!!!
还有个问题2:第26章DMA中断中
//开启一次DMA传输
void MYDMA_Enable(DMA_Channel_TypeDef*DMA_CHx)
{
DMA_CHx->CCR&=~(1<<0); //关闭DMA传输
DMA_CHx->CNDTR=DMA1_MEM_LEN; //DMA1,传输数据量
DMA_CHx->CCR|=1<<0; //开启DMA传输
}
如果只传输一次,DMA不就一直处于打开状态吗?为什么不在DMA初始化时直接打开DMA传输,而要构建一个单独的函数呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
第二个问题,因为下一次传输,还得重新设置DMA1_MEM_LEN,否则DMA不鸟你。
---------------------------------
试过了,可是还是不行
---------------------------------
怎么说?
一周热门 更多>