原子哥的代码 初始化金士顿8G Class 4 TF卡不成功

2019-07-20 15:57发布

单片机为STM32F407

程序用的是正点原子的程序,第38个实验的程序(即不带文件系统的程序),初始化512MB的卡就行,但卡的其它参数就不知了,因为这个卡已经放了好久了,上面的很多东西都看不清了,

用同样的程序初始化金士顿8G Class 4 TF卡就不成功,这张卡昨天才从JD上买的

程序调用到  SD_PowerON()函数的

while((!validvoltage)&&(count<SD_MAX_VOLT_TRIAL))
{                                                                                             
     SDIO_CmdInitStructure.SDIO_Argument = 0x00;//发送CMD55,短响应
      SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD;          //CMD55
      SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;
      SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
      SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
      SDIO_SendCommand(&SDIO_CmdInitStructure);                        //发送CMD55,短响应         
        errorstatus=CmdResp1Error(SD_CMD_APP_CMD);                  //等待R1响应  
                        
         if(errorstatus!=SD_OK)return errorstatus;           //响应错误   <<------  将会在这里出现一个错误  ,为SD_CMD_CRC_FAIL,并退出 SD_PowerON函数

      //acmd41,命令参数由支持的电压范围及HCS位组成,HCS位置一来区分卡是SDSc还是sdhc
      SDIO_CmdInitStructure.SDIO_Argument = SD_VOLTAGE_WINDOW_SD | SDType;        //发送ACMD41,短响应        
      SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_APP_OP_COND;
      SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;  //r3
      SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
      SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
      SDIO_SendCommand(&SDIO_CmdInitStructure);

        errorstatus=CmdResp3Error();                                         //等待R3响应           
         if(errorstatus!=SD_OK)return errorstatus;           //响应错误
        response=SDIO->RESP1;;                                                           //得到响应
        validvoltage=(((response>>31)==1)?1:0);                        //判断SD卡上电是否完成
        count++;  << ----  退出时,这个值大概为9左右
}


有没有人知道是什么原因?
原子哥,知不知道什么原因?

刚注册的号,没分,不好意思。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
八度空间
1楼-- · 2019-07-21 22:26
 精彩回答 2  元偷偷看……
若水12345
2楼-- · 2019-07-22 01:42
 精彩回答 2  元偷偷看……
八度空间
3楼-- · 2019-07-22 05:37
若水12345 发表于 2017-3-23 17:29
硬件没问题,用另一张512MB的卡可以正常操作,就这张8G的初始化都通不过

是不是卡的问题
若水12345
4楼-- · 2019-07-22 10:12
八度空间 发表于 2017-3-23 17:36
是不是卡的问题

我也在想这个问题
若水12345
5楼-- · 2019-07-22 13:34
八度空间 发表于 2017-3-23 17:36
是不是卡的问题

但卡是新买的,前两天在京D上买的,产地是日本  金士顿 8G Class 4的TF卡
八度空间
6楼-- · 2019-07-22 16:48
若水12345 发表于 2017-3-23 17:39
但卡是新买的,前两天在京D上买的,产地是日本  金士顿 8G Class 4的TF卡

一周热门 更多>