请教下原子哥SD卡 CMD55+ACMD41总是返回0x01的问题

2019-08-16 20:20发布

原子哥的代码是没问题的,但自己写的出现了问题
下面说下我出现的情况
就是按顺序启动SD卡
1、74个时钟周期
2、复位(CMD0)进入IDLE状态(返回0x01,正常)
3、卡类型识别CMD8命令(返回R7,检查了参数都正确)
4、出问题就在这点:CMD55+ACMD41组合中ACMD41返回值总是为0x01,死活都没返回0x00,但你的代码没问题

小弟愚钝,找不出是哪出的问题,原子哥,高抬贵手帮忙看下哪里有错吧

#define SD_CMD55 0x37 #define SD_CMD55_ARG 0x00 #define SD_CMD55_CRC 0x01 #define SD_CMD55_RESPONSE         0x01
#define SD_ACMD41     0x41 #define SD_ACMD41_ARG     0x40000000 #define SD_ACMD41_CRC     0x01

/*循环发送CMD55 + ACMD41,等待0x00*/ sdcardInfo sdcardInit(void) { uint16_t retryLoop; uint8_t readByte;
retryLoop = 0xFFFF; do{ /*CMD55*/ writeSdcardCMD( SD_CMD55, SD_CMD55_ARG, SD_CMD55_CRC); /*ACMD41,回应R1*/ readByte = writeSdcardCMD( SD_ACMD41, SD_ACMD41_ARG, SD_ACMD41_CRC); if( readByte == 0x00) return SD_NORMAL; }while(retryLoop--); return SD_INIT_ERROR; }


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
月下竹风
1楼-- · 2019-08-17 20:39
tmalgn 发表于 2016-12-10 21:28
我也碰到ff的问题了,怎么解决啊

兄弟,那个返回0xff的问题你解决了吗,我现在也是遇到这个问题。求教啊!!
月下竹风
2楼-- · 2019-08-18 02:19
jmldx 发表于 2014-1-16 15:51
回复【楼主位】w277277w:
---------------------------------
我也遇到同样的问题,发出CMD41,返回一直是F ...

兄弟,你那个返回0XFF的问题是怎么解决的,我现在也遇到了,求教!
tt朝花夕拾
3楼-- · 2019-08-18 04:54
请问楼主解决了么?ACMD41一直返回0x01;比较奇怪;

一周热门 更多>