在使用rtthread调试sdcard是出现了一下问题,总结如下。
1. 在FindSCR 函数中死循环。
解决方法: 在FindSCR函数的 while循环中,增加跳出即可。
在index++; 下面增加 if (index >= 2) break;
2. 写入出错,总是提醒 write failed: 2, buffer 0x20002ccc
解决方法: 查看错误号2对应的是 SDIO_FLAG_DCRCFAIL,原来SDIO_TRANSFER_CLK_DIV = 1,计算频率为 72M/(1+2) = 24M, 尝试降低频率 配置SDIO_TRANSFER_CLK_DIV=2后正常。