打印
[AVR单片机]

SD卡发送写扇区命令返回值错误

[复制链接]
4009|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
miaoye0216|  楼主 | 2012-3-1 21:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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

粉丝