[AVR单片机] SD卡发送写扇区命令返回值错误

[复制链接]
5051|3
 楼主| miaoye0216 发表于 2012-3-1 21:07 | 显示全部楼层 |阅读模式
SD卡初始化已经成功,但是发送写命令CMD24和读命令CMD17时,收到应答都是0x04,求前辈指导,感激不尽!!!!
 楼主| miaoye0216 发表于 2012-3-1 21:24 | 显示全部楼层
SD采用的是SPI模式,补充一下
aozima 发表于 2012-3-1 21:30 | 显示全部楼层
换张卡再试试。

初始化时要初步确认卡类型,
初始化成功后,不代表过程是完全正确的。
还要再读一下CSD确认。
然后才能开始读写,因为卡容量也在CSD里面。

可能需要考虑兼容的卡有:
SD 1.X
SD 2.0 SDSC
SD 2.0 SDHC
SD 2.0 SDXC
MMC。

另外,部分卡的命令部分需要CRC
普通卡只在CMD0时需要,而有的卡整个初始化过程都要,更有的卡所有命令都需要CRC。
CRC_ON_OFF 开关的只是数据部分的CRC。
 楼主| miaoye0216 发表于 2012-3-1 21:37 | 显示全部楼层
谢谢你的指点,我用的卡是创见4G的SDHC卡。我的初始化是CMD0,返回0x01;然后CMD8返回0x01(SD2.0版本),然后CMD41和ACMD55也返回成功,再发送CMD58检查接收到的OCR中的bit30位(CCS)为1,确认为SDHC卡。整个初始化就大概这样。你说的读CSD是不是一定要进行?我没有读。方便留个联系方式么?QQ什么的都行,我的是254094189,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部