STM32
直播中

李兰英

7年用户 206经验值
私信 关注
[问答]

为什么SD卡返回为0x05代表的是v1.0版本,返回为0x01代表高版本?

为什么返回为0x05代表的是v1.0版本 返回为0x01代表高版本
而不是0x04代表v1.0 返回为0x00代表高版本
从数据手册上看到CMD8的响应为R7
又因为是高字节先响应,所以返回的实际上是R1
如果R1的第三位为1代表命令不支持,如果为0表示支持,跟第一位idle无关吧
所以我觉得是如果不支持则返回0x04,如果支持则返回0x00,不知道我哪个地方理解错了呐

回帖(3)

张鑫

2019-9-17 09:17:29
看SD卡白皮书.
举报

郝汉

2019-9-17 09:24:52
看了 所以我才认为应该是0x04跟0x00 最后一位如果是1的话不是代表没有进入idle状态吗 数据手册上面写的是CMD8如果没有反映则返回idle模式 那跟CMD8没有什么关系啊 CMD8只关心第三位 不知道我说得对不
举报

张桂兰

2019-9-17 09:32:42
 if(SD_Idle_Sta()) return 1;//超时返回1 设置到idle 模式失败      
    //-----------------SD卡复位到idle结束-----------------    
    //获取卡片的SD版本信息
     SD_CS=0;    
    r1 = SD_SendCommand_NoDeassert(8, 0x1aa,0x87);     
看红色的代码的意思吧!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分