初级会员

- 积分
- 127
- 金钱
- 127
- 注册时间
- 2016-12-27
- 在线时间
- 34 小时
|
1金钱
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); //ÅäÖÃDèòaμÄÖD¶Ï
SDIO->DCTRL|=1<<3; //SDIO DMAê1Äü
SD_DMA_Config((u32*)buf,blksize,DMA_DIR_PeripheralToMemory);
while(((DMA2->LISR&(1<<27))==RESET)&&(TransferEnd==0)&&(TransferError==SD_OK)&&timeout)timeout--;//μè′y′«êäíê3é
if(timeout==0)return SD_DATA_TIMEOUT;//3¬ê±
if(TransferError!=SD_OK)errorstatus=TransferError;
}
这是探索者的SD卡DMA的例程,请问一下用的DMA为什么还要
while(((DMA2->LISR&(1<<27))==RESET)&&(TransferEnd==0)&&(TransferError==SD_OK)&&timeout)timeout--;
有这句代码。
|
|