OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4161|回复: 14

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

[复制链接]

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
发表于 2017-3-21 21:14:41 | 显示全部楼层 |阅读模式
单片机为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左右
}


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

刚注册的号,没分,不好意思。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-21 21:16:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-21 21:17:04 | 显示全部楼层
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-21 22:24:43 | 显示全部楼层
仿真一下看下都返回些什么东西了
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-21 23:21:06 | 显示全部楼层
八度空间 发表于 2017-3-21 22:24
仿真一下看下都返回些什么东西了

返回 SD_CMD_CRC_FAIL
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-23 16:47:56 | 显示全部楼层

初始化的时候频率不能过高
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-23 17:01:49 | 显示全部楼层
八度空间 发表于 2017-3-23 16:47
初始化的时候频率不能过高

频率为400K
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-23 17:12:43 | 显示全部楼层

硬件上面要查看下有没问题?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-23 17:29:12 | 显示全部楼层
八度空间 发表于 2017-3-23 17:12
硬件上面要查看下有没问题?

硬件没问题,用另一张512MB的卡可以正常操作,就这张8G的初始化都通不过
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-23 17:36:21 | 显示全部楼层
若水12345 发表于 2017-3-23 17:29
硬件没问题,用另一张512MB的卡可以正常操作,就这张8G的初始化都通不过

是不是卡的问题
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-23 17:38:50 | 显示全部楼层

我也在想这个问题
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-23 17:39:43 | 显示全部楼层

但卡是新买的,前两天在京D上买的,产地是日本  金士顿 8G Class 4的TF卡
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-23 17:42:59 | 显示全部楼层
若水12345 发表于 2017-3-23 17:39
但卡是新买的,前两天在京D上买的,产地是日本  金士顿 8G Class 4的TF卡

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-21
在线时间
3 小时
 楼主| 发表于 2017-3-23 17:45:26 | 显示全部楼层

但512MB的卡是2011年买的,8G卡是新买的,但新卡不行
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
218
金钱
218
注册时间
2019-6-19
在线时间
40 小时
发表于 2019-10-15 09:58:46 | 显示全部楼层
楼主解决了嘛,是如何解决的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-16 17:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表