新手上路
- 积分
- 40
- 金钱
- 40
- 注册时间
- 2018-2-27
- 在线时间
- 10 小时
|
发表于 2018-2-28 16:53:43
|
显示全部楼层
发送ACMD13后,也是返回起始位错误,我晕了。不知道我加的代码的地方对不对
if((errorstatus==SD_OK)||(SDIO_MULTIMEDIA_CARD==CardType))
{
if(SDCardInfo.CardType==SDIO_STD_CAPACITY_SD_CARD_V1_1||SDCardInfo.CardType==SDIO_STD_CAPACITY_SD_CARD_V2_0)
{
clkdiv=SDIO_TRANSFER_CLK_DIV+2; //V1.1/V2.0卡,设置最高48/4=12Mhz
}else clkdiv=SDIO_TRANSFER_CLK_DIV; //SDHC等其他卡,设置最高48/2=24Mhz
SDIO_Clock_Set(clkdiv); //设置时钟频率,SDIO时钟计算公式:SDIO_CK时钟=SDIOCLK/[clkdiv+2];其中,SDIOCLK固定为48Mhz
// errorstatus=SD_SetDeviceMode(SD_DMA_MODE); //设置为DMA模式
errorstatus=SD_SetDeviceMode(SD_POLLING_MODE);//设置为查询模式
}
errorstatus=SD_SendSDStatus(t);
printf("6errorstatus=%d\r\n",errorstatus);
if(errorstatus==SD_OK)
{
j=(t[1]>>30);
printf("j=%d\r\n",j);
}
return errorstatus; |
|