新手上路
- 积分
- 32
- 金钱
- 32
- 注册时间
- 2020-3-10
- 在线时间
- 14 小时
|
复制别人代码,在SD卡初始化时发送CMD8返回响应超时,运行别人代码没问题,将代码的初始化部分复制后运行就对CMD8没响应,卡是4G的SDHC卡,请大神指点
/* CMD8: SEND_IF_COND
* Send CMD8 to verify SD card interface operating condition
*
* Argument: - [31:12]: Reserved (shall be set to '0')
* - [11:8] : Supply Voltage (VHS) 0x1 (Range: 2.7-3.6 V)
* - [7:0] : Check Pattern (recommended 0xAA)
* CMD Response: R7
*/
/* 接收到命令sd会返回这个参数 */
SDIO_CmdInitStructure.SDIO_Argument = SD_CHECK_PATTERN;
SDIO_CmdInitStructure.SDIO_CmdIndex = SDIO_SEND_IF_COND;
SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;
SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
SDIO_SendCommand(&SDIO_CmdInitStructure);
/*检查是否接收到命令*/
errorstatus = CmdResp7Error();
/* 有响应则card遵循sd协议2.0版本 */
if (errorstatus == SD_OK)
{
/* SD Card 2.0 ,先把它定义会sdsc类型的卡 */
CardType = SDIO_STD_CAPACITY_SD_CARD_V2_0;
/* 这个变量用作ACMD41的参数,用来询问是sdsc卡还是sdhc卡 */
SDType = SD_HIGH_CAPACITY;
}
return errorstatus;
返回errorstatus是响应超时,读SDIO 命令响应寄存器和SDIO 响应 1..4 寄存器(SDIO_RESPx)都是空的
|
|