原来一直用ZE里的SDIO DMA进**数据的读取、写入(它是DMA2的Channel4)
但是最近把DMA1的Channel5打开(I2S DMA Tx),却导致了以前工作完好的SDIO DMA不能使用。
这个DMA1 Channel5配置是没什么问题的,并且已经完成了一次传输、产生传输完成中断。在完成中断中紧接着又出发DMA1 Channel5传输,形成一个DMA循环队列。第一次DMA1 Ch5传输完成到DMA1 Ch5第二次传输触发时,配置了DMA2 Ch4做一次SD卡的读取,但这次读取失败了,没完成标志。这个是什么问题呢?从STM32手册来看,这两个DMA控制器是相互独立的,不会相互影响。唯一有交集的应该在总行访问上,不过针对这个总线仲裁应该会自动去做访问顺序的控制。不解中。。。 |