OpenEdv-开源电子网

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

SDIO如何控制多个卡

[复制链接]

49

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2018-3-14
在线时间
71 小时
发表于 2019-4-12 10:53:09 | 显示全部楼层 |阅读模式
20金钱
同时接多个卡,官方例程要怎么改?广播命令的时候,响应同时传回如何接收吗?
SD_Error SD_InitializeCards(void)
{
  SD_Error errorstatus=SD_OK;
u16 rca = 0x01;
  if((SDIO->POWER&0X03)==0)return SD_REQUEST_NOT_APPLICABLE;//检查电源状态,确保为上电状态
  if(SDIO_SECURE_DIGITAL_IO_CARD!=CardType)   //非SECURE_DIGITAL_IO_CARD
{
  SDIO_Send_Cmd(SD_CMD_ALL_SEND_CID,3,0);   //发送CMD2,取得CID,长响应  
  errorstatus=CmdResp2Error();      //等待R2响应   
  if(errorstatus!=SD_OK)return errorstatus;    //响应错误      
   CID_Tab[0]=SDIO->RESP1;
  CID_Tab[1]=SDIO->RESP2;
  CID_Tab[2]=SDIO->RESP3;
  CID_Tab[3]=SDIO->RESP4;
}
if((SDIO_STD_CAPACITY_SD_CARD_V1_1==CardType)||(SDIO_STD_CAPACITY_SD_CARD_V2_0==CardType)||(SDIO_SECURE_DIGITAL_IO_COMBO_CARD==CardType)||(SDIO_HIGH_CAPACITY_SD_CARD==CardType))//判断卡类型
{
  SDIO_Send_Cmd(SD_CMD_SET_REL_ADDR,1,0);   //发送CMD3,短响应
  errorstatus=CmdResp6Error(SD_CMD_SET_REL_ADDR,&rca);//等待R6响应
  if(errorstatus!=SD_OK)return errorstatus;    //响应错误      
}   
    if (SDIO_MULTIMEDIA_CARD==CardType)
    {
   SDIO_Send_Cmd(SD_CMD_SET_REL_ADDR,1,(u32)(rca<<16));//发送CMD3,短响应     
  errorstatus=CmdResp2Error();      //等待R2响应   
  if(errorstatus!=SD_OK)return errorstatus;    //响应错误  
    }
if (SDIO_SECURE_DIGITAL_IO_CARD!=CardType)   //非SECURE_DIGITAL_IO_CARD
{
  RCA = rca;
  SDIO_Send_Cmd(SD_CMD_SEND_CSD,3,(u32)(rca<<16));//发送CMD9+卡RCA,取得CSD,长响应     
  errorstatus=CmdResp2Error();      //等待R2响应   
  if(errorstatus!=SD_OK)return errorstatus;    //响应错误      
    CSD_Tab[0]=SDIO->RESP1;
  CSD_Tab[1]=SDIO->RESP2;
  CSD_Tab[2]=SDIO->RESP3;      
  CSD_Tab[3]=SDIO->RESP4;         
}
return SD_OK;//卡初始化成功
}


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

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2019-4-12 20:54:37 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 16:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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