求助关于stm32F407SD卡DMA传输问题

2019-07-20 17:38发布

else if(DeviceMode==SD_DMA_MODE)
        {
                TransferError=SD_OK;
                StopCondition=0;                        //μ¥¿é¶á,2»Dèòa·¢Ëíí£Ö1′«êäÖ¸áî
                TransferEnd=0;                                //′«êä½áêø±êÖÃ룬ÔúÖD¶Ï·tÎñÖÃ1
                SDIO->MASK|=(1<<1)|(1<<3)|(1<<8)|(1<<5)|(1<<9);        //&#197;&#228;&#214;&#195;Dèòaμ&#196;&#214;D&#182;&#207;
                 SDIO->DCTRL|=1<<3;                         //SDIO DMAê1&#196;ü
            SD_DMA_Config((u32*)buf,blksize,DMA_DIR_PeripheralToMemory);
                while(((DMA2->LISR&(1<<27))==RESET)&&(TransferEnd==0)&&(TransferError==SD_OK)&&timeout)timeout--;//μè′y′&#171;ê&#228;íê3é
                if(timeout==0)return SD_DATA_TIMEOUT;//3&#172;ê±
                if(TransferError!=SD_OK)errorstatus=TransferError;  
    }   
这是探索者的SD卡DMA的例程,请问一下用的DMA为什么还要
while(((DMA2->LISR&(1<<27))==RESET)&&(TransferEnd==0)&&(TransferError==SD_OK)&&timeout)timeout--;
有这句代码。

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