首页 > 解决方案 > 部分 SD 卡写入失败(CMD24 返回 CRC 错误)

问题描述

我正在使用 PIC18 通过 SPI 写入 SD 卡。对于许多卡,这是工作文件,但对于某些卡,我通过了 init 进程,但是当尝试写入卡时,CMD24 返回 0x05(我认为这是 CRC 错误)

// send CMD24 - preparing for a 512 byte block
SD_command(CMD24, 0x0001, CMD24_CRC);
    
// read response
res1 = SD_readRes1();  //This returns 0x05 for some cards!

我已经使用 CMD59 - CRC_ON_OFF 和参数 0x00 来打开 CRC,并且命令似乎完成了。有什么我想念的吗?

标签: picsd-card

解决方案


我在论坛上阅读了某人的评论,他花了一周时间寻找此代码中的错误。在他的案例中,他发现对于一些 sd 卡,无论 crc 检查选项 (cmd59) 的状态如何,他都必须在 sd 命令中放置一个有效的 crc。也许在所有情况下都放置一个有效的 crc 更简单。


推荐阅读