hi jeremyzhou ,
Thanks for your reply
I change drive:
/************************************************************************//**
* @brief Send CMD1 (SEND_OP_COND) to card.
*
* @param None
*
* @return MCI_FUNC_OK if all success
****************************************************************************/
int32_t MCI_Cmd_SendOpCond( void )
{
volatile uint32_t i;
uint32_t retryCount;
uint32_t respStatus;
uint32_t respValue[4];
st_Mci_CmdInfo cmdIf;
int32_t retval = MCI_FUNC_FAILED;
retryCount = 0x200; /* reset retry counter */
cmdIf.CmdIndex = CMD1_SEND_OP_COND; /*CMD 1*/
//cmdIf.Argument = OCR_INDEX; /*¶ÁÈ¡ocr¼Ä´æÆ÷*/
cmdIf.Argument = 0x40FC0000; /*µ÷Õû´Ë´¦³õʼ»¯ÎÊÌâok*/
cmdIf.ExpectResp = EXPECT_SHORT_RESP; /*¶Ì¸ñʽָÁî*/
cmdIf.AllowTimeout = ALLOW_CMD_TIMER; /*µÈ´ýÃüÁî½áÊø*/
cmdIf.CmdResp = (uint32_t *)&respValue[0];
/* continuously sends until the busy bit is cleared */
while ( retryCount > 0 )
//////////////and set 1bit mode
if ((CardConfig.CardType== MCI_SDSC_V1_CARD) ||
(CardConfig.CardType== MCI_SDSC_V2_CARD) ||
(CardConfig.CardType== MCI_SDHC_SDXC_CARD))
{
if (MCI_SetBusWidth( SD_4_BIT ) != MCI_FUNC_OK ) /* ÉèÖÃ×ÜÏßλ¿í 1788Ö»ÓÐ 4bitģʽ */
{
break;
}
}
else
{
if (MCI_SetBusWidth( SD_1_BIT ) != MCI_FUNC_OK )
{
break;
}
}
hardware change is mmc card read connection
I usb card read AU6438 USB SDcard reader format emmc chip and write select data