OpenEdv-开源电子网

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

SD卡上电都OK,但发送CMD7的时候查看状态寄存器STA出现SD_CMD_CRC_FAIL错误

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2013-11-20
在线时间
0 小时
发表于 2014-9-26 16:32:47 | 显示全部楼层 |阅读模式
5金钱
原子哥:
    版子是MINI板,程序是论坛里面的程序修改来的。SD卡连接是:通过飞线和上拉连接一张SD(金士顿4G)卡,上电初始化都没有      问题(即CMD0,CMD8,  55+41电压都正确返回)
    然后发送(CMD 2 3 9获取SD卡信息也成功)。得到R1的高16位0x1234
    问题但当发送CMD7选择卡的时候返回CRC校验错误,尝试很多次都一样。无法理解,跪求原子哥帮忙
     Status = SD_SelectDeselect((u32) (SDCardInfo.RCA << 16));
    其中这个函数源码
SD_Error SD_SelectDeselect(u32 addr)
{
  SD_Error errorstatus = SD_OK;
  SDIO_CmdInitStructure.SDIO_Argument =  addr;
  SDIO_CmdInitStructure.SDIO_CmdIndex = 7;
  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);
  errorstatus = CmdResp1Error(7);
  return(errorstatus);
}

努力程序程序猿
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-26 23:14:09 | 显示全部楼层
把频率降低试试。
另外你用的mini板,SDIO这几个脚和其他外设没冲突吧?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-1 02:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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