想请教一个问题,就是自己画的板子,芯片AT32F403ACGT7,我使用V1.36的库,使用SDIO2_MMCCARD例程,然后使用DMA模式,和使用POLLING模式,程序都可以正常跑下去,singleblock和mutileblock测试通过;但是使用V2.06版本驱动,SDIO_MMC程序,将SDIO1相关定义时钟引脚等换成SDI02,使用POLLING模式可以正常运行;使用DMA模式,singleblock测试发送数据就会卡死,不知道这个是什么情况,有帮忙分析一下,谢谢了 if(sdio_data_init_t->transfer_direction == SDIO_DATA_TRANSFER_TO_CARD)
{
sd_dma_config(buf, length, DMA_DIR_MEMORY_TO_PERIPHERAL);
SDIOx->inten |= SDIO_INTR_STS_WRITE_MASK;
transfer_error = SD_OK;
transfer_end = 0;
sdio_dma_enable(SDIOx, TRUE);
}
while(!(SDIOx->sts & SDIOx->inten) && timeout)
{
timeout--;
if(transfer_end)
{
break;
}
}
就是在这边卡了,timeout=0xffffff;
求帮忙
|