SD卡初始化问题u8 SD_WaitReady(void)

2019-08-12 17:27发布

使用原子的新版SD卡程序移植到stm32f103vc的板子上,在SD卡初始化中,等待卡准备好的函数中,利用串口查看,始终得到0X00,不能得到0xff,换了3种卡都不能得到0xff,移植原来挑卡那版程序初始化没有问题,请大虾帮我分析分析造成的原因吧,不胜感激。
//等待卡准备好
//返回值:0,准备好了;其他,错误代码
u8 SD_WaitReady(void)
{  
 u32 t=0;
 do
 {
  if(SD_SPI_ReadWriteByte(0XFF)==0XFF)return 0;//OK 此处SD_SPI_ReadWriteByte(0XFF)返回的值一直是0x00”
  t++;     
 }while(t<0XFFFFFF);//等待
 return 1;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
31条回答
hooddas
1楼-- · 2019-08-13 15:29
回复【7楼】正点原子:

---------------------------------
case SPI_SPEED_256://256分频
SPI1->CR1|=7<<3;//Fsck=Fpclk/16=281.25Khz
break;
-------------------------------------------------------------
//SD卡初始化的时候,需要低速
void SD_SPI_SpeedLow(void)
{
  SPIx_SetSpeed(SPI_SPEED_256);//设置到低速模式
}
应该是这个不知道 速度是否可以
正点原子
2楼-- · 2019-08-13 19:09
没问题.
hooddas
3楼-- · 2019-08-14 00:37
 精彩回答 2  元偷偷看……
hooddas
4楼-- · 2019-08-14 04:45
还是不行,完全的移植,会是哪里问题呢
hooddas
5楼-- · 2019-08-14 08:26
//选择sd卡,并且等待卡准备OK
//返回值:0,成功;1,失败;
u8 SD_Select(void)
{
SD_CS=0;
if(SD_WaitReady()==0)return 0;//等待成功
SD_DisSelect();
return 1;//等待失败
}
原子大侠 这个函数是什么意思呢?没搞明白
正点原子
6楼-- · 2019-08-14 14:00
 选择sd卡,并且等待卡准备OK 

一周热门 更多>