大家好,小弟最近用STM32F103RET6 做一个 SDIO + DMA + FATFS 快速读取的功能。
目前的问题是:
从上图可知,程序启动后,初始化很多内容。 首先SD_Init( )中 使用 errorstatus=SD_SetDeviceMode(SD_POLLING_MODE);, 这么做 程序都没有问题,SD卡工作正常,经过测试都没有出现问题。
然后,将其改为errorstatus=SD_SetDeviceMode(SD_DMA_MODE);, 启动后发现了问题,程序卡在
printf("f_mount !!!
");
f_mount(fs[0],"0:",1);
卡在挂在f_mount这个地方,就下不去了(下面的printf("exf_getfree !!!
"); 没有被调用)。
然后通过单步调试,发现程序进入HardFaultHandler。
然而,SD_Init( )在 errorstatus=SD_SetDeviceMode(SD_DMA_MODE); 条件下,其返回值是0, 并没有出现错误值。
现在是一头雾水,不知如何查起,请问大家可否有方法解决呢?
谢谢!!
一周热门 更多>