某些SD卡无法写入(CMD24返回CRC错误)



我使用PIC18通过SPI写入SD卡。对于许多卡,这是工作文件,但对于一些卡,我通过了初始化过程,但当试图写入卡时,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!

我使用了带有参数0x00的CMD59-CRC_ON_OFF来打开CRC,命令似乎完成了。我有什么东西不见了吗?

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

最新更新