用的原子哥的SD卡例程中的代码
调用SD_Initialize函数的时候,发现卡在这个循环中
do
{
r1=SD_SendCmd(CMD0,0,0x95);
}while((r1!=0X01) && retry--);
具体往函数中追踪发现卡在
if(SD_Select())return 0XFF;//片选失效
这一步里
想问一下这是因为硬件原因吗。。
片选的引脚是推挽输出初始化过了的..不知道为什么会片选失效..
求助
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
{
u32 t=0;
LEDWireless_On;
do
{
if(SD_SPI_ReadWriteByte(0XFF)==0XFF)return 0;//OK
else if(SD_SPI_ReadWriteByte(0xFF) == 0x00) LEDDataTransfer_On;
t++;
}while(t<0XFFFFFF);
return 1;
}
这个时候两个LED都是亮的
u8 SD_WaitReady(void)
{
u32 t=0;
LEDWireless_On;
do
{
if(SD_SPI_ReadWriteByte(0XFF)==0XFF)return 0;//OK
t++;
}while(t<0XFFFFFF);
LEDDataTransfer_On;
return 1;
}
这样就只亮一个灯
一周热门 更多>