初级会员

- 积分
- 83
- 金钱
- 83
- 注册时间
- 2015-11-21
- 在线时间
- 22 小时
|
5金钱
疑问1: R7响应的字节长度是多少?上面两个的区别?
for(i=0;i<4;i++) buf=SD_SPI_ReadWriteByte(0XFF); //R7响应
if(buf[2]==0X01&&buf[3]==0XAA)//卡是否支持2.7~3.6V,0XAA与上面CMD8参数对应
{
retry=0XFFFE;
do
{
SD_SendCmd(CMD55,0,0X01); //发送CMD55
r1=SD_SendCmd(CMD41,0x40000000,0X01);//发送CMD41
}while(r1&&retry--);
if(retry&&SD_SendCmd(CMD58,0,0X01)==0)//鉴别SD2.0卡版本开始
{
for(i=0;i<4;i++)buf=SD_SPI_ReadWriteByte(0XFF);//得到OCR值
if(buf[0]&0x40)SD_Type=SD_TYPE_V2HC; //检查CCS
else SD_Type=SD_TYPE_V2;
}
}
疑问2:上面for语句为什么只读取4个字节,还有就是 if(buf[2]==0X01&&buf[3]==0XAA)好像位置不对哦?
|
|