OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2780|回复: 3

SDIO操作内存卡问题。卡在了获取RCA的步骤

[复制链接]

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-12-4
在线时间
4 小时
发表于 2015-12-4 21:00:26 | 显示全部楼层 |阅读模式
5金钱
上电成功之后,发送CMD2和CMD3。在全速运行的时候,没有返回错误,但是获得的RCA是0,这显然是不对的。在进行硬件调试的时候,返回了命令响应超时的错误。贴上代码:errorstatus=GetCard_RCA(&CardRCA);
                /*if(errorstatus==SD_OK)
                {
                        break;
                }
        }
        if(errorstatus!=SD_OK)
        {
                printf("\r\n错误代码%d\r\n",errorstatus);
                return 0;
        }
        
        printf("\r\n成功,卡的RCA为%d\r\n",CardRCA);


这段是处理代码。下面的是GetCard_RCA()
SD_error GetCard_RCA(uint32_t* CardRCA)
{
        SDIO_CmdInitTypeDef  CmdStructure;
        
        SD_error errorstatus=SD_OK;
        
        
        CmdStructure.SDIO_Argument=0x0;   //?T?úèY
        CmdStructure.SDIO_CmdIndex=2;
        CmdStructure.SDIO_Response=SDIO_Response_Long;  //  r2
        CmdStructure.SDIO_Wait=SDIO_Wait_No;         
        CmdStructure.SDIO_CPSM=SDIO_CPSM_Enable; 
        
        errorstatus=SDIO_error();
        
        if(errorstatus!=SD_OK)
        {
                return errorstatus;
        }
        
        
        
        CmdStructure.SDIO_Argument=0x0;   
        CmdStructure.SDIO_CmdIndex=3;
        CmdStructure.SDIO_Response=SDIO_Response_Short;  //  r6
        CmdStructure.SDIO_Wait=SDIO_Wait_No;          
        CmdStructure.SDIO_CPSM=SDIO_CPSM_Enable; 

       SDIO_SendCommand(&CmdStructure);
        
        errorstatus=SD_ans_error(CardRCA); //调试是返回的errorstatus是超时,全速时返回的是正常。
        
        if(errorstatus!=SD_OK)
        {
                return errorstatus;
        }
        
        *CardRCA=*CardRCA>>16;
        
        return errorstatus;

SDIO_error的作用是获取命令发送后的状态,SD_ans_error是在SDIO的基础上增加了对卡的回复状态进行判断,如果卡的状态正常,就把回复内容放在*CardRCA里。
问题1;为什么会出现调试和全速运行的结果不一样?我代码设置的是轮询判断的方式,所以应该不会出现延时不够的问题。
问题2;我该相信调试结果还是全速时的结果?全速虽然不报错,但是获得RCA为0,显然是有问题的。
代码肯定是错了,我对比了官方例程中,没有发现问题在哪。还请给位高手给小弟指点一二。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-4 22:54:14 | 显示全部楼层
回复

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-12-4
在线时间
4 小时
 楼主| 发表于 2015-12-6 17:14:29 | 显示全部楼层
回复【2楼】ricefat:
---------------------------------
这也是库函数啊
回复

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-12-4
在线时间
4 小时
 楼主| 发表于 2015-12-7 19:18:16 | 显示全部楼层
有没有人来解答一下啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 01:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表