我用STM32的SPI来控制SD卡,这个用过很多次了。现在遇到的问题很奇怪,同样的程序,同样的SD卡,一个是做的板子,一个是开发板。接线都一样。
但是程序在执行CMD8这个指令后,开发板的返回0x01表示SD卡版本;但是做的板子返回的就是0x51, 0x41,或者0x11这样的古怪的东西,不知道啥意思。绝大部分时间都是返回0x51。
这段代码是这样的:
/* Get the card type, version */
r1 = _send_command_hold(CMD8, 0x1AA, 0x87);
if(r1 == 0x05)
{
……
}
else if(r1 == 0x01)
{……}
现在搞了几个小时,各种方法用尽了,真的是郁闷了。所以发上来,希望大家给看看。谢谢了。 |