日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【STM32】STM32 SDIO SD卡读写测试(三)-- SD_Init之Init Card阶段

發布時間:2024/3/26 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【STM32】STM32 SDIO SD卡读写测试(三)-- SD_Init之Init Card阶段 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相關文章

《【SDIO】SDIO、SD卡、FatFs文件系統相關文章索引》

1. 前言

本篇文章主要是介紹stm324x9i_eval_sdio_sd.c里面SD_Init()函數完整的過程。它主要是實現了SDIO的初始化SD卡的Power UPSD卡的初始化獲取SD卡的相關信息等,下面會詳細介紹SD卡的初始化獲取SD卡的相關信息的分析。

2. SD_InitializeCards()

SD_InitializeCards()主要的功能是初始化SD卡獲取CID和RCA的信息,并進入Standby狀態。主要涉及到的函數如下:

  • CMD2: SD_CMD_ALL_SEND_CID
  • CMD3: SD_CMD_SET_REL_ADDR
  • CMD9: SD_CMD_SEND_CSD

2.1 CMD2: SD_CMD_ALL_SEND_CID

CMD2: SD_CMD_ALL_SEND_CID是通知所有卡通過 CMD 線返回 CID值,CID值是卡的唯一標識。在卡發送CID后,它進入識別狀態。

#define SD_CMD_ALL_SEND_CID ((uint8_t)2)/*!< Send CMD2 ALL_SEND_CID */ SDIO_CmdInitStructure.SDIO_Argument = 0x0; SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_ALL_SEND_CID; SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Long; SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; SDIO_SendCommand(&SDIO_CmdInitStructure);

發送出去的波形如下:

發送CMD2命令后,調用CmdResp2Error()獲取SDIO 狀態寄存器 (SDIO_STA) Value,通過返回的狀態Value來判斷命令響應是否已經正確被接收。如果響應被正確被接受,通過訪問SDIO 響應 1…4 寄存器 (SDIO_RESPx)來獲取CID的值。

errorstatus = CmdResp2Error();if (SD_OK != errorstatus) {return(errorstatus); }CID_Tab[0] = SDIO_GetResponse(SDIO_RESP1); CID_Tab[1] = SDIO_GetResponse(SDIO_RESP2); CID_Tab[2] = SDIO_GetResponse(SDIO_RESP3); CID_Tab[3] = SDIO_GetResponse(SDIO_RESP4);

從SD2.0協議里面可以了解到CMD2的response格式是R2,R2主要獲取CID或者CSD值。


為什么獲取CID值需要讀取SDIO Response 1…4寄存器?
因為在STM32的SDIO相關寄存器可以了解到關于127 Bit 長響應會用到SDIO_RESP1..4這4個寄存器拼接成的(如下圖STM32 SDIO Datasheet所示),所以這里需要訪問這4個寄存器。如果命令響應的參數的長度是32 Bit 短響應,那么就只需要讀取SDIO_RESP1寄存器的Value。

R1、R2、R3、R6、R7SDIO_RESP1…4 這2個概率容易弄混:

  • R1、R2、R3、R6、R7:這個是SD2.0《Physical Specification Version 2.00》 協議規定CMD響應命令格式。
  • SDIO_RESP1..4:這個是STM32寄存器存放命令響應參數的值。


邏輯分析儀抓取波形如下:

從上面的波形可以獲取到CID值為:0x03534453433332478049D204AD012ADF,關于CID的表格如下:

NameFieldWidthCID-sliceValue
Manufacturer IDMID8[127:120]0x03
OEM/Application IDOID16[119:104]0x5344
Product namePNM40[103:64]"S C 3 2 G"
(0x5343333247)
Product revisionPRV8[63:56]0x80
Product serial numberPSN32[55:24]0x49D204AD
reserved--4[23:20]0
Manufacturing dateMDT12[19:8]0x12A
(October 2018)
CRC7 checksumCRC7[7:1]0x6F
not used, always 1-1[0:0]1

PNM:
The product name is a string, 5-character ASCII string.
MDT:
The “m” field [11:8] is the month code. 1 = January.
The “y” field [19:12] is the year code. 0 = 2000.

2.2 CMD3: SD_CMD_SET_REL_ADDR

CMD3: SD_CMD_SET_REL_ADDR 主機發出CMD3 (SEND_RELATIVE_ADDR)請求SD卡發布一個新的相對卡地址(RCA),它比CID短,在未來的數據傳輸模式中用于給SD卡尋址。一旦接收到RCA,SD卡狀態就會變為待機狀態。此時,如果主機希望分配另一個RCA號碼,它可以通過向卡發送另一個CMD3命令來要求卡發布一個新號碼。最后發布的RCA是SD卡的實際RCA號。

#define SD_CMD_SET_REL_ADDR ((uint8_t)3) /*!< SDIO_SEND_REL_ADDR for SD Card *//*!< Send CMD3 SET_REL_ADDR with argument 0 */ /*!< SD Card publishes its RCA. */ SDIO_CmdInitStructure.SDIO_Argument = 0x00; SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_REL_ADDR; 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);

因為發送命令CMD3的Argument是stuff bits,所以這里需要填寫0x00。實際發送出去的波形如下:

發送CMD3命令后,調用CmdResp6Error()獲取SDIO 狀態寄存器 (SDIO_STA) Value,通過返回的狀態Value來判斷命令響應是否已經正確被接收。如果響應被正確被接受,通過訪問SDIO 命令響應寄存器 (SDIO_RESPCMD)來獲取Response Command Index。判斷Response Command Index是否等于CMD3,然后訪問SDIO 響應 1 寄存器 (SDIO_RESP1)來獲取RCA的值。

static SD_Error CmdResp6Error(uint8_t cmd, uint16_t *prca) {SD_Error errorstatus = SD_OK;uint32_t status;uint32_t response_r1;status = SDIO->STA;while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CTIMEOUT | SDIO_FLAG_CMDREND))){status = SDIO->STA;}.../*!< Check response received is of desired command */if (SDIO_GetCommandResponse() != cmd){errorstatus = SD_ILLEGAL_CMD;return(errorstatus);}/*!< Clear all the static flags */SDIO_ClearFlag(SDIO_STATIC_FLAGS);/*!< We have received response, retrieve it. */response_r1 = SDIO_GetResponse(SDIO_RESP1);if (SD_ALLZERO == (response_r1 & (SD_R6_GENERAL_UNKNOWN_ERROR | SD_R6_ILLEGAL_CMD | SD_R6_COM_CRC_FAILED))){*prca = (uint16_t) (response_r1 >> 16);return(errorstatus);}...return(errorstatus); }

從SD2.0協議里面可以了解到CMD3的response格式是R6,R6主要獲取RCA和Card Status Bits的值。


邏輯分析儀抓取波形可以了解到 RCA = 0xAAAA,波形如下:

2.3 CMD9: SD_CMD_SEND_CSD

CMD9: SD_CMD_SEND_CSD主機發出SEND_CSD(CMD9)以獲取與SD卡有關的數據(CSD寄存器),例如塊長度、卡的儲存容量等。

#define SD_CMD_SEND_CSD ((uint8_t)9)/*!< Send CMD9 SEND_CSD with argument as card's RCA */ SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)(rca << 16); // RCA = 0xAAAA SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SEND_CSD; SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Long; SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; SDIO_SendCommand(&SDIO_CmdInitStructure);

發送CMD9命令時,Argument需要填寫RCA。前面已經獲取到 RCA = 0xAAAA,所以實際發送的命令波形如下:

發送CMD9命令后,調用CmdResp2Error()獲取SDIO 狀態寄存器 (SDIO_STA) Value,通過返回的狀態Value來判斷命令響應是否已經正確被接收。如果響應被正確被接受,通過訪問SDIO 響應 1…4 寄存器 (SDIO_RESPx)來獲取CSD的值。

errorstatus = CmdResp2Error();if (SD_OK != errorstatus) {return(errorstatus); }CSD_Tab[0] = SDIO_GetResponse(SDIO_RESP1); CSD_Tab[1] = SDIO_GetResponse(SDIO_RESP2); CSD_Tab[2] = SDIO_GetResponse(SDIO_RESP3); CSD_Tab[3] = SDIO_GetResponse(SDIO_RESP4);

從SD2.0協議里面可以了解到CMD2的response格式是R2,R2主要獲取CID或者CSD值。


邏輯分析儀抓取波形如下:

從上面的波形可以獲取到CSD值為:0x400E00325B590000EDC87F800A4040C3,關于CSD的表格如下:

NameFieldWidthValueCell TypeCID-slice
CSD structureCSD_STRUCTURE201bR[127:126]
reserved-600 0000bR[125:120]
data read access-time(TAAC)80EhR[119:112]
data read access-time
in CLK cycles (NSAC*100)
(NSAC)800hR[111:104]
max. data transfer rate(TRAN_SPEED)832h or 5AhR[103:96]
card command classesCCC12010110110101bR[95:84]
max. read data block length(READ_BL_LEN)49R[83:80]
partial blocks for read allowed(READ_BL_PARTIAL)10R[79:79]
write block misalignment(WRITE_BLK_MISALIGN)10R[78:78]
read block misalignment(READ_BLK_MISALIGN)10R[77:77]
DSR implementedDSR_IMP10R[76:76]
reserved -600 0000bR[75:70]
device sizeC_SIZE2200 EDC8hR[69:48]
reserved -10R[47:47]
erase single block enable(ERASE_BLK_EN) 11R[46:46]
erase sector size(SECTOR_SIZE)77FhR[45:39]
write protect group size (WP_GRP_SIZE) 70000000bR[38:32]
write protect group enable(WP_GRP_ENABLE) 10R[31:31]
reserved-200bR[30:29]
write speed factor (R2W_FACTOR)3010bR[28:26]
max. write data block length(WRITE_BL_LEN) 49R[25:22]
partial blocks for write allowed(WRITE_BL_PARTIAL) 10R[21:21]
reserved -500000bR[20:16]
File format group(FILE_FORMAT_GRP)10R[15:15]
copy flag (OTP)COPY11R/W(1)[14:14]
permanent write protectionPERM_WRITE_PROTECT10R/W(1)[13:13]
temporary write protectionTMP_WRITE_PROTECT10R/W[12:12]
File format(FILE_FORMAT) 200bR[11:10]
reserved-200bR[9:8]
CRCCRC7110 0001bR/W[7:1]
not used, always’1’ -11-[0:0]
  • CSD_STRUCTURE
    CSD_STRUCTURE指示了CSD structure version,根據上面解析的數據,所以選擇的是CSD Version 2.0。

  • TRAN_SPEED
    下表定義了每條數據線的最大數據傳輸速率- TRAN_SPEED:

    當時鐘等于25MHz時,這個域總是0_0110_010b (032h)。如果時鐘等于50MHz時,這個域總是0_1011_010b (05Ah)

  • READ_BL_LEN
    READ_BL_LEN最大讀數據塊長度計算公式為2READ_BL_LEN,最大塊長度應該在512…2048個字節。注意,在SD存儲卡的WRITE_BL_LEN總是等于READ_BL_LEN。根據上面數據的解析,所以Block Length的值為 29 = 512 Bytes

3.SDIO_Init()

SDIO_Init()主要是配置SDIO時鐘控制寄存器(SDIO_CLKCR)。因為接下來SD卡會進入傳輸模式,所以這里需要提高SDIO Clock,這里將SDIO_CK 頻率設置為25MHz。

/** * @brief SDIO Data Transfer Frequency (25MHz max) */ #define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x0)/*!< Configure the SDIO peripheral */ /*!< SDIO_CK = SDIOCLK / (SDIO_TRANSFER_CLK_DIV + 2) */ /*!< on STM32F4xx devices, SDIOCLK is fixed to 48MHz */ SDIO_InitStructure.SDIO_ClockDiv = SDIO_TRANSFER_CLK_DIV; SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising; SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable; SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable; SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_1b; SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; SDIO_Init(&SDIO_InitStructure);

名稱描述Value備注
CLKDIV時鐘分頻系數 (Clock divide factor)
該字段定義輸入時鐘 (SDIOCLK) 與輸出時鐘 (SDIO_CK) 之間的分頻系數:
SDIO_CK 頻率 = SDIOCLK / [CLKDIV + 2]
0x00SDIO_CK 頻率 = SDIOCLK / [CLKDIV + 2]
24M = 48M / [0x00 + 2]

設置SDIO_CK之前,頻率為400KHz左右,如下:

設置SDIO_CK之后,頻率為25MHz左右,如下:

4.SD_GetCardInfo()

SD_GetCardInfo()主要作用是解析前面獲取到CSD的值,具體可以參考上面的表格,這里不重復介紹了。

SD_Error SD_GetCardInfo(SD_CardInfo *cardinfo) {SD_Error errorstatus = SD_OK;uint8_t tmp = 0;cardinfo->CardType = (uint8_t)CardType;cardinfo->RCA = (uint16_t)RCA;/*!< Byte 0 */tmp = (uint8_t)((CSD_Tab[0] & 0xFF000000) >> 24);cardinfo->SD_csd.CSDStruct = (tmp & 0xC0) >> 6;cardinfo->SD_csd.SysSpecVersion = (tmp & 0x3C) >> 2;cardinfo->SD_csd.Reserved1 = tmp & 0x03;/*!< Byte 1 */tmp = (uint8_t)((CSD_Tab[0] & 0x00FF0000) >> 16);cardinfo->SD_csd.TAAC = tmp;/*!< Byte 2 */tmp = (uint8_t)((CSD_Tab[0] & 0x0000FF00) >> 8);cardinfo->SD_csd.NSAC = tmp;/*!< Byte 3 */tmp = (uint8_t)(CSD_Tab[0] & 0x000000FF);cardinfo->SD_csd.MaxBusClkFrec = tmp;/*!< Byte 4 */tmp = (uint8_t)((CSD_Tab[1] & 0xFF000000) >> 24);cardinfo->SD_csd.CardComdClasses = tmp << 4;/*!< Byte 5 */tmp = (uint8_t)((CSD_Tab[1] & 0x00FF0000) >> 16);cardinfo->SD_csd.CardComdClasses |= (tmp & 0xF0) >> 4;cardinfo->SD_csd.RdBlockLen = tmp & 0x0F;/*!< Byte 6 */tmp = (uint8_t)((CSD_Tab[1] & 0x0000FF00) >> 8);cardinfo->SD_csd.PartBlockRead = (tmp & 0x80) >> 7;cardinfo->SD_csd.WrBlockMisalign = (tmp & 0x40) >> 6;cardinfo->SD_csd.RdBlockMisalign = (tmp & 0x20) >> 5;cardinfo->SD_csd.DSRImpl = (tmp & 0x10) >> 4;cardinfo->SD_csd.Reserved2 = 0; /*!< Reserved */...}

5.SD_SelectDeselect()

SD_SelectDeselect()主要作用是通過CMD7選擇對應的RCA地址的SD卡進入傳輸模式,前面已經獲取到RCA地址為 RCA = 0xAAAA。CMD7用于選擇一張SD卡并將其置于傳輸狀態,在同一時刻只能有一張卡處于傳輸狀態。如果先前選擇的卡處于傳輸狀態,它與主機的連接將被釋放,它將返回到 Stand-by 狀態。

errorstatus = SD_SelectDeselect((uint32_t) (SDCardInfo.RCA << 16)); // RCA = 0xAAAA-------------------------------------------------->SD_Error SD_SelectDeselect(uint64_t addr) {SD_Error errorstatus = SD_OK;/*!< Send CMD7 SDIO_SEL_DESEL_CARD */SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)addr;SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SEL_DESEL_CARD;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 = CmdResp1Error(SD_CMD_SEL_DESEL_CARD);return(errorstatus); }

實際發送出去的波形如下:

發送CMD7命令后,調用CmdResp1Error獲取SDIO 狀態寄存器 (SDIO_STA)來判斷命令響應是否已經正確被接收。然后,通過函數SDIO_GetCommandResponse獲取SDIO 命令響應寄存器 (SDIO_RESPCMD) Value來判斷Host接收到的響應命令是否是剛剛發送的命令。最后,通過函數SDIO_GetResponse獲取SDIO 響應 1寄存器 (SDIO_RESP1) SD卡的狀態。

static SD_Error CmdResp1Error(uint8_t cmd) {SD_Error errorstatus = SD_OK;uint32_t status;uint32_t response_r1;status = SDIO->STA;while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT))){status = SDIO->STA;}.../*!< Check response received is of desired command */if (SDIO_GetCommandResponse() != cmd){errorstatus = SD_ILLEGAL_CMD;return(errorstatus);}/*!< Clear all the static flags */SDIO_ClearFlag(SDIO_STATIC_FLAGS);/*!< We have received response, retrieve it for analysis */response_r1 = SDIO_GetResponse(SDIO_RESP1);if ((response_r1 & SD_OCR_ERRORBITS) == SD_ALLZERO){return(errorstatus);}if (response_r1 & SD_OCR_ADDR_OUT_OF_RANGE){return(SD_ADDR_OUT_OF_RANGE);}...return(errorstatus); }

從SD2.0協議里面可以了解到CMD7的response是R1b,R1b和R1功能完全相同,主要獲取的Card Status。


通過邏輯分析儀抓取的波形, Card Status指示SD卡當前狀態為Stand-by 狀態, 如下:

6.SD_EnableWideBusOperation()

通過SD_EnableWideBusOperation(SDIO_BusWide_4b)設置總線寬度為4bit模式,首先需要獲取SCR Register Value(FindSCR())判定SD卡是否支持4bit模式,然后發送ACMD6設置SD卡工作在4bit模式,同時host端STM32也設置為4bit模式。整體的思維導圖如下:

6.1 CMD16:SD_CMD_SET_BLOCKLEN

在FindSCR()函數中發送CMD16:SD_CMD_SET_BLOCKLEN來設置SD卡Block Size為8 Bytes

#define SD_CMD_SET_BLOCKLEN ((uint8_t)16)/*!< Set Block Size To 8 Bytes */ SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)8; SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_BLOCKLEN; 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 = CmdResp1Error(SD_CMD_SET_BLOCKLEN);


實際發送出去波形如下:

然后SD卡處理完后,以R1的形式Response Card Status,波形如下:

6.2 SDIO_DataConfig()

SDIO_DataConfig()設置STM32 SDIO寄存器DLEN和DCTRL數據長度和塊大小為8Bytes,并設置傳輸方向為:SD Card -> Host SDIO。

SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT;SDIO_DataInitStructure.SDIO_DataLength = 8;SDIO_DataInitStructure.SDIO_DataBlockSize = SDIO_DataBlockSize_8b;SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToSDIO;SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block;SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable;SDIO_DataConfig(&SDIO_DataInitStructure);

6.3 ACMD51:SD_CMD_SD_APP_SEND_SCR

ACMD51:SD_CMD_SD_APP_SEND_SCR主要是讀取配置寄存器 SCR的值,發送完這個命令后R1返回Card Status,然后在DATA0數據線上返回SCR的值。

#define SD_CMD_SD_APP_SEND_SCR ((uint8_t)51) /*!< For SD Card only *//*!< Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ SDIO_CmdInitStructure.SDIO_Argument = 0x0; SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_APP_SEND_SCR; 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 = CmdResp1Error(SD_CMD_SD_APP_SEND_SCR);


實際發送出去的波形如下:

然后SD卡處理完后,以R1的形式Response Card Status,波形如下:

6.4 SDIO_ReadData()

SDIO_ReadData()從SDIO FIFO中獲取DATA0 SD卡返回的SCR Value:

while (!(SDIO->STA & (SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND | SDIO_FLAG_STBITERR))){if (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET){*(tempscr + index) = SDIO_ReadData();index++;}}

在SDIO DATA0上面返回SCR Value為:0x0235804300000000,波形如下:

SCR Value為:0x0235804300000000對應SCR寄存器的表格如下:

DescriptionFieldWidthValueCell
Type
SCR
Slice
SCR Structure SCR_STRUCTURE40000bR[63:60]
SD Memory Card - Spec. VersionSD_SPEC40010bR[59:56]
data_status_after erasesDATA_STAT_AFTER_ERASE10bR[55:55]
SD Security SupportSD_SECURITY3011bR[54:52]
DAT Bus widths supportedSD_BUS_WIDTHS40101bR[51:48]
reserved-16 R[47:32]
reserved for manufacturer usage-32 R[31:0]
  • SCR_STRUCTURE
  • SD_SPEC
    SD_SPEC描述了SD卡支持SD協議版本號。
  • SD_SECURITY
    SD_SECURITY描述了Security Specification Version版本號。
  • SD_BUS_WIDTHS
    SD_BUS_WIDTHS描述了SDIO總線的寬度,同時支持1bit和4bit。

6.5 ACMD6:SD_CMD_APP_SD_SET_BUSWIDTH

ACMD6:SD_CMD_APP_SD_SET_BUSWIDTH 通過SCR Value判斷SD卡支持4bit總線,并通過AMCD6設置SD卡總線寬度為4bit。

#define SD_CMD_APP_SD_SET_BUSWIDTH ((uint8_t)6) /*!< For SD Card only *//*!< Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ SDIO_CmdInitStructure.SDIO_Argument = 0x2; SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_SD_SET_BUSWIDTH; 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 = CmdResp1Error(SD_CMD_APP_SD_SET_BUSWIDTH);


實際發送出去的波形如下:

6.6 SDIO_Init()

SDIO_Init()配置STM32 SDIO時鐘控制寄存器(SDIO_CLKCR):時鐘為25MHz和總線寬度為4bit模式

/*!< Configure the SDIO peripheral */ SDIO_InitStructure.SDIO_ClockDiv = SDIO_TRANSFER_CLK_DIV; SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising; SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable; SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable; SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_4b; SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; SDIO_Init(&SDIO_InitStructure);

Note:到此SD_Init的整個SD卡初始化完成。

7. 參考資料

SDIO參考的資料如下:

下載地址如下:
https://download.csdn.net/download/ZHONGCAI0901/14975835

移植成功的完整代碼下載地址如下:
https://download.csdn.net/download/ZHONGCAI0901/15265756

總結

以上是生活随笔為你收集整理的【STM32】STM32 SDIO SD卡读写测试(三)-- SD_Init之Init Card阶段的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美夫妻生活视频 | 在线电影中文字幕 | 在线看片视频 | 国产亚洲在线视频 | 黄av免费在线观看 | 精品人妖videos欧美人妖 | 国产精品理论片在线播放 | 2023天天干 | 中文字幕一区二区在线播放 | 久久刺激视频 | av在线精品| 久久精品美女视频 | 狠狠干在线 | 久久九九久久九九 | 国内精品久久久久久久久久 | 国产一级在线观看 | www.天天成人国产电影 | 97中文字幕 | 粉嫩一区二区三区粉嫩91 | 91久久国产综合精品女同国语 | 黄色视屏在线免费观看 | 欧美极品xxxxx | 久色网 | 久久精彩免费视频 | 天天操天天干天天摸 | wwwwww国产 | 亚洲人成影院在线 | 亚洲国产日韩欧美 | 在线观看国产亚洲 | www.eeuss影院av撸 | 九七视频在线 | 超碰在线公开免费 | 久久久久久在线观看 | 国产在线不卡视频 | 国产精品免费观看网站 | av在线8| 蜜桃视频色 | 国产亚洲精品bv在线观看 | 人人揉人人揉人人揉人人揉97 | 日韩美女高潮 | 免费观看的黄色片 | 国产精品嫩草69影院 | 一区二区三区四区在线 | 欧美 亚洲 另类 激情 另类 | 四虎影视精品成人 | 国产精品一二 | 国产精品视频资源 | 日韩91精品 | 91在线小视频 | 美女视频一区二区 | 最新av电影网址 | 911国产 | 久久国色夜色精品国产 | 免费观看性生交 | 久久五月婷婷丁香 | 1区2区3区在线观看 三级动图 | 狠狠成人 | 欧美日韩国内在线 | av黄网站| 五月天婷婷视频 | 99国内精品久久久久久久 | 亚洲美女视频网 | 高清国产午夜精品久久久久久 | 免费看v片网站 | 中文字幕久久网 | 在线播放你懂 | 国产精品久久久久婷婷 | 色资源在线观看 | 91成人免费在线视频 | 亚洲一区二区三区精品在线观看 | 国产91在线免费视频 | 国产99久久久国产 | 欧美另类tv| 91成年人在线观看 | 日韩电影在线观看一区 | 91桃色免费视频 | 欧美ⅹxxxxxx | 亚洲精品国产精品国 | 国产精品视频区 | 久久手机在线视频 | 丰满少妇在线观看资源站 | 日韩视频精品在线 | 亚洲国产精品一区二区久久hs | 探花系列在线 | 日韩一二区在线 | 亚洲爱av | 成人久久久精品国产乱码一区二区 | 日本精品视频一区二区 | 亚洲综合婷婷 | 高清一区二区三区 | av三级在线播放 | 永久中文字幕 | 波多野结衣在线观看一区 | 久久国产精品免费一区 | 久久成人午夜 | 久久夜靖品| 欧美色图视频一区 | 久久免费成人精品视频 | 免费黄色特级片 | 欧美动漫一区二区三区 | 免费日韩视 | 色婷婷亚洲综合 | 日本激情视频中文字幕 | 色视频网站在线 | 天天爽天天爽天天爽 | 成人在线观看你懂的 | 精品91视频 | 久久亚洲婷婷 | 九九久久免费 | 国产精品成人在线 | 久久久999精品视频 国产美女免费观看 | 亚洲精品国产拍在线 | 成人黄色资源 | 国产精品久久久久久一区二区三区 | av播放在线| 免费观看性生交大片3 | 97国产超碰 | 免费观看黄色av | 蜜桃视频精品 | 免费看短 | 男女免费视频观看 | 天天视频亚洲 | 最新动作电影 | 中文字幕久久久精品 | 日本一区二区三区免费看 | 午夜视频免费播放 | 日韩欧美网址 | 免费男女网站 | 免费网站黄色 | 日韩av一区在线观看 | 在线国产视频一区 | 欧美一级艳片视频免费观看 | 成人毛片100免费观看 | 欧美日韩国产免费视频 | 久久久久9999亚洲精品 | www91在线观看 | 天天操夜夜想 | 久久九九国产精品 | 日本少妇久久久 | 亚洲国产av精品毛片鲁大师 | 午夜久久久久久久 | 日本精品一 | 91精品国产欧美一区二区成人 | 美女性爽视频国产免费app | av在线永久免费观看 | 91资源在线播放 | 久久精品a | 国产一区二区在线看 | 免费视频一二三区 | 日韩欧美在线综合网 | 欧美精品乱码久久久久 | 午夜影院先| 91污污视频在线观看 | 国产精品久久99综合免费观看尤物 | 探花视频在线观看+在线播放 | 一区二区中文字幕在线播放 | 91丨九色丨国产在线观看 | 久久精品直播 | 97精品在线 | 91传媒免费观看 | www.色国产| 久久久久麻豆v国产 | 伊人久久国产精品 | 天天操福利视频 | 91精品国产麻豆国产自产影视 | 婷婷丁香狠狠爱 | 精品人人爽 | 免费高清无人区完整版 | 国产无套一区二区三区久久 | 日韩中文字幕免费看 | 91人人澡人人爽人人精品 | 国产色婷婷精品综合在线手机播放 | 国产区在线看 | 开心色婷婷 | 国产一级片视频 | 国产精品久久久久久久久大全 | 国产日韩欧美自拍 | 欧美性久久久久久 | 欧美了一区在线观看 | 亚洲免费av在线 | 精品久久久久久久久久久久 | 五月婷婷六月丁香 | 婷婷丁香狠狠爱 | 国产不卡在线视频 | 中文字幕在线日本 | 成人9ⅰ免费影视网站 | 美女久久久久久久久久久 | 免费在线观看毛片网站 | 国产精品99蜜臀久久不卡二区 | 狠狠插狠狠操 | 99精品国产成人一区二区 | 亚洲一级国产 | 国产精品毛片一区二区 | 国产精品99久久久久久小说 | 日韩在线视频播放 | 亚洲一区黄色 | 久久99精品国产麻豆宅宅 | 一区二区三区免费看 | 国产视频一区二区在线 | 99精品视频精品精品视频 | 丁香婷婷社区 | 在线观看午夜 | 福利视频在线看 | 色综合久久久久综合体桃花网 | 亚州精品天堂中文字幕 | 国产高清在线视频 | 久久手机精品视频 | 91在线资源 | 青草草在线视频 | 久久高视频 | 亚洲精品777| 在线观看国产区 | 亚洲男男gaygay无套同网址 | 美女网站在线看 | 四虎国产精品免费 | 国产区精品视频 | 欧美999| 九九视频一区 | 亚洲三级在线免费观看 | 一区av在线播放 | 西西444www大胆高清视频 | 天天做天天爱夜夜爽 | 日韩精品免费一区二区在线观看 | 激情综合五月 | 五月开心六月伊人色婷婷 | 色婷婷国产精品 | 日韩精品一区二区三区中文字幕 | 久久99精品国产99久久 | 亚洲女欲精品久久久久久久18 | 国产一区网址 | 黄色一级大片在线免费看产 | 蜜臀av性久久久久蜜臀av | 天天想夜夜操 | 国产亚洲成av人片在线观看桃 | 五月天久久久久 | 久久福利剧场 | 96超碰在线| 成人在线播放视频 | 偷拍久久久 | 人人超在线公开视频 | 久久不射影院 | 日韩黄色大片在线观看 | 国产中文字幕在线观看 | 在线观看视频97 | 亚洲乱码久久 | 免费 在线 中文 日本 | 中文资源在线官网 | 狠狠操狠狠 | 精品国产色 | 日韩免费视频一区二区 | 91精品视频在线观看免费 | 久久国产手机看片 | 久久久久国产精品免费免费搜索 | 国产精品久久久久久久久久免费 | 久久不见久久见免费影院 | 久久一区二区三区四区 | 亚洲欧美成人网 | 久久丁香网 | 国产一级在线观看视频 | 一区二区三区免费在线观看视频 | 96久久精品 | 欧美日韩亚洲第一页 | 99精品黄色 | wwwwww色| 国产色女| 久久久久麻豆v国产 | 超碰在线公开 | 日韩久久精品一区 | 国色天香av | 国产手机在线视频 | 亚洲高清91 | 国产精品视频最多的网站 | 人人插人人费 | 亚洲精品字幕在线观看 | 日韩精品国产一区 | 操久久网 | 最近高清中文字幕在线国语5 | 日日精品 | 美女久久久久久 | 亚洲高清资源 | 狠狠搞,com | 激情婷婷综合 | 久久麻豆精品 | 国产在线观看一区 | 93久久精品日日躁夜夜躁欧美 | 成年人黄色免费视频 | 婷久久| 中文在线免费视频 | 五月婷婷欧美视频 | 国产精品一区二区三区99 | 精品国模一区二区三区 | 亚洲一区日韩在线 | 国内精品久久久久久久久久久 | 久草观看 | 久久不射电影院 | 国产午夜精品一区二区三区四区 | 在线中文字幕视频 | 久久久久久久久网站 | 在线欧美国产 | 91香蕉视频 | 成人免费视频网 | 亚洲精选在线观看 | 97国产大学生情侣酒店的特点 | 午夜精品在线看 | 亚洲国产精久久久久久久 | 国产在线观看免费av | 国产精品wwwwww| 黄色在线观看污 | 亚洲一区二区观看 | 99视频在线 | 日韩电影中文 | 91女人18片女毛片60分钟 | 久久精品日产第一区二区三区乱码 | 91人人人| 亚洲一区二区精品3399 | 久久久这里有精品 | 成年人视频免费在线 | 99精品视频在线播放观看 | 夜添久久精品亚洲国产精品 | 精品国产一区二区三区在线观看 | 五月天国产 | 久久精品直播 | 亚洲精品国产成人av在线 | 国产成人久久av免费高清密臂 | 亚洲一级免费观看 | 国产成人综合在线观看 | 久久久久久久毛片 | 91麻豆国产福利在线观看 | 中文字幕精品一区二区精品 | 精品女同一区二区三区在线观看 | 97视频一区 | 亚洲美女免费视频 | 在线观看理论 | 色婷婷a | 欧美与欧洲交xxxx免费观看 | 亚洲丁香久久久 | 婷婷中文字幕 | 丁香九月激情 | 免费中午字幕无吗 | 亚洲综合在线视频 | 亚洲乱码国产乱码精品天美传媒 | 国产成人综合图片 | 天天做夜夜做 | 天天天操操操 | www国产亚洲精品久久网站 | 欧美一级特黄aaaaaa大片在线观看 | 国产va饥渴难耐女保洁员在线观看 | 亚洲成aⅴ人在线观看 | 亚洲精品乱码久久久久 | 免费av在线网 | 91在线一区二区 | 81国产精品久久久久久久久久 | 免费在线观看一区二区三区 | 日本护士撒尿xxxx18 | 天天干夜夜夜操天 | 在线免费观看视频一区二区三区 | 人人躁| 91精品国产一区二区三区 | 国产在线观看一 | 日韩伦理片hd | 久久精品免费看 | 国产色妞影院wwwxxx | 美女网站在线免费观看 | 欧美精品天堂 | 91粉色视频 | 日韩国产高清在线 | 西西www444 | 伊人婷婷激情 | 色伊人网| www狠狠| 久久影视中文字幕 | 国产精品久久久久久吹潮天美传媒 | 日韩精品久久一区二区 | 久久亚洲专区 | 亚洲精品影视 | 免费人成在线观看 | 久久蜜臀av | 欧美精品午夜 | 久久99免费视频 | 午夜丁香网| 国产精品久久久久久99 | 美女网站色在线观看 | 九九色综合 | av再线观看 | 国产精品成人自产拍在线观看 | 丁香婷婷综合五月 | 一区二区三区观看 | 丁香激情综合久久伊人久久 | 人人射人人澡 | 亚洲国产av精品毛片鲁大师 | 97色婷婷成人综合在线观看 | 911香蕉 | 久久国产精品一国产精品 | 三级在线视频观看 | 国产精品免费观看国产网曝瓜 | 在线观看aaa | 免费观看成年人视频 | 奇米影音四色 | 欧美另类一二三四区 | 久草视频在线免费播放 | 日韩久久精品 | 国产精品久久久区三区天天噜 | 激情影音先锋 | 在线免费黄色毛片 | 日韩黄色免费看 | www麻豆视频 | 日韩在线观看三区 | 久久精品一区八戒影视 | 一区二区三区日韩视频在线观看 | www.黄色 | 人人爽人人干 | 亚洲国产成人精品电影在线观看 | 中文字幕在线播放av | 色婷婷在线视频 | 国产精品永久免费观看 | 欧美专区国产专区 | 国产 成人 久久 | 国产精品午夜久久久久久99热 | 国产在线看| 美女国产网站 | 波多野结衣精品 | 91精品电影| 波多野结衣在线视频一区 | 中文字幕 国产视频 | 六月婷婷久香在线视频 | 久久免费a| 草久久av| 久久久久国产成人免费精品免费 | 视频三区 | 久久综合久色欧美综合狠狠 | 五月天中文在线 | 亚洲一区美女视频在线观看免费 | 中文字幕亚洲精品日韩 | 色婷婷视频在线观看 | 超级碰99 | 免费色视频网址 | 日本久久成人中文字幕电影 | 亚洲久在线 | 在线观看91久久久久久 | 久久久久久久久久电影 | 国产精品 国产精品 | 国产精品va在线观看入 | 久久av一区二区三区亚洲 | 中文字幕免费在线看 | 一区二区三区电影 | 天天操天天干天天插 | 最近中文字幕国语免费高清6 | 精品美女国产在线 | 91av在线免费视频 | 国产一区在线播放 | 日韩免费一区二区在线观看 | 激情网婷婷 | 国产男女无遮挡猛进猛出在线观看 | 亚洲六月丁香色婷婷综合久久 | 日韩欧美在线不卡 | 精品视频免费在线 | 九色自拍视频 | 亚洲国产精品激情在线观看 | 色一级片 | 2023天天干 | 九九爱免费视频在线观看 | 免费在线观看日韩欧美 | 亚洲视频久久久 | 在线观看mv的中文字幕网站 | 日本护士三级少妇三级999 | 麻豆影视在线观看 | 国产精品久久久久久久久搜平片 | 久久免费福利 | 成人综合日日夜夜 | 激情综合网五月 | 五月花婷婷 | 久久伊人操 | 久久一区二 | 黄色免费观看网址 | 最新超碰在线 | 免费视频一区二区 | 99爱精品视频 | 国产三级精品三级在线观看 | 亚洲免费一级电影 | 久草在线视频免赞 | 天天操,夜夜操 | 国产精品涩涩屋www在线观看 | 91免费高清观看 | 中文字幕在线观看的网站 | 91亚色视频在线观看 | 亚洲欧美国产视频 | 精品国产乱码久久 | 欧洲亚洲精品 | 五月婷婷激情 | 国产又粗又猛又爽 | 色爱成人网 | 最近的中文字幕大全免费版 | 国产乱码精品一区二区蜜臀 | 国产精品久久一区二区三区, | 免费看搞黄视频网站 | 国产精品免费观看久久 | 久久久免费在线观看 | 国产不卡在线观看视频 | 国产精品欧美一区二区三区不卡 | 在线观看中文av | 深爱激情亚洲 | 永久免费观看视频 | 精品国产一区二区三区久久久 | 蜜臀av夜夜澡人人爽人人桃色 | 97成人在线观看 | 国产在线不卡精品 | 美腿丝袜一区二区三区 | 国产一区私人高清影院 | 亚洲精品在线网站 | 福利视频入口 | 丝袜美女在线观看 | 国产一区二区三区免费视频 | 欧美在线aaa | 精壮的侍卫呻吟h | 最新日韩在线 | 伊人天堂av | 国产a精品 | 最新高清无码专区 | 天天干天天操天天做 | 国产乱码精品一区二区三区介绍 | 天天综合网 天天综合色 | 碰天天操天天 | 人人搞人人爽 | 91精品对白一区国产伦 | 日韩精品免费一线在线观看 | 国产打女人屁股调教97 | 日韩中文在线观看 | 国产精品久久一区二区三区不卡 | 国产精品理论在线观看 | 亚洲欧美精品一区二区 | 香蕉视频免费在线播放 | 日韩视频一区二区三区在线播放免费观看 | 91网页版免费观看 | 狠狠色丁香婷婷综合欧美 | 久久免费中文视频 | 国产精品99久久久久久久久 | 欧美日bb| 综合久久久久久久 | 亚洲激情 欧美激情 | 91亚洲免费| 狠狠干天天干 | 国产婷婷色 | 91视频一8mav| 久久一区91| 久久久国产精品人人片99精片欧美一 | 精品国产视频在线观看 | 91av在线国产 | 国产中文欧美日韩在线 | 亚洲天堂网在线视频 | 激情视频免费观看 | 免费在线激情视频 | 特级片免费看 | 久久久综合九色合综国产精品 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 成人h电影 | 欧洲精品亚洲精品 | 国产对白av | 国产一区二区在线影院 | 久久这里有精品 | 久草在线视频精品 | 99久久精品久久久久久动态片 | 中文字幕欧美日韩va免费视频 | 日韩午夜电影院 | 91探花在线视频 | 伊人影院得得 | 日韩a级黄色 | 激情校园亚洲 | 天天爽网站 | 国产日韩视频在线 | 国内久久久 | 99r在线视频 | 黄色一区三区 | 97视频免费在线观看 | 欧美精品一区在线 | 亚洲一区欧美激情 | 国产精品乱码高清在线看 | 亚洲综合在线观看视频 | 婷婷久草| 久操伊人 | 国产成人一区二区啪在线观看 | 亚洲成av人影片在线观看 | 欧美日韩国产综合一区二区 | 午夜av电影 | 亚洲欧洲一级 | 中文字幕 婷婷 | 伊人宗合网 | 欧美极品少妇xbxb性爽爽视频 | 日韩在线观看免费 | 免费在线观看成人小视频 | 中文字幕在线观看1 | 国产98色在线 | 日韩 | 欧美日韩成人 | 91精品久久久久久综合五月天 | 色噜噜狠狠狠狠色综合 | 四虎影视成人永久免费观看亚洲欧美 | 国产v亚洲v| 不卡视频国产 | www色网站 | 欧美黄网站 | 精品久久久久久亚洲 | 国产精品不卡av | 日韩欧美一区二区三区视频 | 在线观看欧美成人 | 亚洲国产av精品毛片鲁大师 | 青青草在久久免费久久免费 | 最新中文字幕在线观看视频 | 五月天久久激情 | 欧美孕妇与黑人孕交 | 国产在线观看污片 | 久久久精品欧美一区二区免费 | 日韩免费网址 | 91黄色视屏 | 亚洲一区二区三区91 | 91精品国产成人观看 | 中文字幕免费 | 五月婷影院 | 91成人在线观看高潮 | 久久久福利影院 | 久草视频精品 | 欧美一级视频免费 | 视频在线亚洲 | 五月的婷婷 | 午夜精品久久久99热福利 | 人人澡人 | 在线网站黄 | 免费三级影片 | 亚洲精品国产麻豆 | 午夜视频在线观看一区二区三区 | 91麻豆精品国产91久久久无限制版 | 久久久久黄色 | 日韩高清免费观看 | av在线精品 | 色综合欧洲 | 免费在线观看91 | 人人爱夜夜操 | 日韩欧美高清 | 精品久久久久久久久久久院品网 | 黄色网www | 国产视频精品免费 | 伊人网综合在线观看 | 久热免费在线观看 | 少妇视频在线播放 | 91视频在线观看免费 | 国产精品久久久久久久久久东京 | 91欧美视频网站 | 色就色,综合激情 | 免费av网址在线观看 | 99精品视频中文字幕 | 日本久久久久久久久久 | 久久国产精品影视 | 九九九九色| 香蕉97视频观看在线观看 | 玖玖爱在线观看 | 香蕉网在线播放 | 美女天天操 | 日本电影黄色 | av一级片| 国产精品久久99综合免费观看尤物 | 成人网444ppp | 欧美日韩国产一区二区三区在线观看 | 91av短视频| 欧美日韩中文另类 | 久久国产精品一区二区 | 色夜视频 | 久久久久在线观看 | 国产黑丝袜在线 | 在线看片成人 | 午夜国产一区二区三区四区 | av黄色成人 | 主播av在线| 亚洲精品国产综合99久久夜夜嗨 | 91九色在线观看 | 色网站在线免费观看 | 久久99视频免费观看 | 欧美一级乱黄 | 中文字幕一区av | 午夜精品久久久久99热app | 久久精品一区八戒影视 | 顶级bbw搡bbbb搡bbbb | 久久国精品 | 国产乱码精品一区二区三区介绍 | 国产精品热 | 九九免费精品视频在线观看 | 国产二区电影 | 伊人手机在线 | 一区二区久久 | 久久激情综合 | 久久精品网站视频 | 国产资源在线播放 | 日韩综合视频在线观看 | 欧美成年人在线观看 | 丁香视频全集免费观看 | 一区二区三区在线播放 | 欧美一进一出抽搐大尺度视频 | 爱爱av在线 | 国产香蕉av | 日韩成人精品一区二区三区 | 日本最新高清不卡中文字幕 | 婷婷精品国产一区二区三区日韩 | 91探花系列在线播放 | 97在线观看免费观看 | 深爱激情综合 | 国产黄色在线网站 | 国产精品久久久久久久免费大片 | 在线观看午夜 | 精品一区91 | 99久热在线精品视频成人一区 | 欧美成人在线免费 | 香蕉视频免费在线播放 | 激情视频网页 | 三级av在线播放 | 中文字幕国语官网在线视频 | 欧美一级视频免费看 | 国产又黄又爽又猛视频日本 | 久久久久激情视频 | 夜夜夜精品 | 在线观看视频在线 | 免费看片网址 | 四虎成人免费观看 | 91麻豆视频网站 | 毛片网站在线看 | 久久精品99精品国产香蕉 | 98久9在线 | 免费 | 国产精品入口a级 | 久久国产香蕉视频 | 精品国产一区二区三区久久久 | 天天干.com | 亚州av成人| 亚洲国产手机在线 | 日韩视频一区二区在线观看 | 亚洲精品视频在线 | 亚洲理论视频 | 久色 网 | a黄在线观看| 久久久久免费精品视频 | 国产高清永久免费 | 国产免费xvideos视频入口 | 91在线播 | 黄色美女免费网站 | 欧美日韩电影在线播放 | 毛片网站在线看 | 最近高清中文字幕 | 在线免费成人 | 97视频免费在线 | 亚洲国产999 | 中文字幕的| 成人性生活大片 | 天堂av网址| 日日麻批40分钟视频免费观看 | 国产在线观看二区 | 黄色免费大全 | 国产亚洲人成网站在线观看 | 久久夜靖品 | 国产精品原创在线 | 中文av在线播放 | 婷婷免费在线视频 | 亚洲视频精品 | 亚洲视频在线视频 | 久久久蜜桃一区二区 | 国产一区二区三区免费在线 | 日韩精品视频久久 | 久久a v电影 | 久草在线视频精品 | 国内精品久久久久久久久久久 | 成人黄色在线 | 人人藻人人澡人人爽 | 欧美一级性生活视频 | 欧美精品一区在线发布 | 五月婷在线 | 久草在线久草在线2 | 视频 国产区 | 久草在线电影网 | 久久国产精品免费一区 | 天天射天天干天天操 | 天天插日日射 | 中文字幕一区在线观看视频 | 日韩av区 | 国产精品网红直播 | 天天操天天操 | 99精品在线视频观看 | 天天射综合 | 国产精品久久久久久久久久久久午 | 国产精品视频一二三 | 丁香婷婷色月天 | 国产成人精品不卡 | 91亚洲成人 | 日韩高清黄色 | 亚洲精品资源 | 久草在线免费在线观看 | www视频在线免费观看 | 国产91精品久久久久久 | 四虎欧美 | 中国一级片免费看 | 免费在线国产精品 | 91亚洲精品国偷拍自产在线观看 | 69av久久 | 蜜臀av.com| a级国产片 | www.在线观看av | 午夜三级理论 | 成人h视频在线 | 日韩在线色 | 人人干人人艹 | 亚洲精品 在线视频 | 麻豆视屏| 色综合久久久久综合体 | 99视频免费播放 | www.天天射.com| 国产精品18久久久 | 在线激情影院一区 | 欧美日韩精品二区第二页 | 日韩视频区 | 亚洲成a人片在线www | 操久| 在线观看免费高清视频大全追剧 | 1024在线看片| 天天干天天操天天做 | 久久99精品久久久久久秒播蜜臀 | 日韩午夜大片 | 狠狠色噜噜狠狠狠合久 | 日韩国产精品一区 | 日韩美女免费线视频 | 麻花天美星空视频 | 九九综合在线 | 天天草天天干天天 | 欧美日韩成人一区 | 久久免费成人精品视频 | 2023天天干| 亚洲一区动漫 | 国产精品初高中精品久久 | 成人在线免费小视频 | 九九九视频精品 | 91看片淫黄大片一级在线观看 | 国产伦精品一区二区三区… | 国产日产在线观看 | 狠狠色狠狠色终合网 | 久久人人做 | 999在线精品 | 国产另类xxxxhd高清 | 一区二区三区中文字幕在线 | 99精品国产99久久久久久福利 | 99久热在线精品视频 | 日韩在线视频一区 | 在线视频在线观看 | 99热精品免费观看 | 久久精久久精 | 亚洲影院一区 | 黄色在线看网站 | 丁香六月色 | 四虎在线免费观看 | 中文字幕一二三区 | 免费a网 | 成人xxxx | 人人爱人人爽 | 青青河边草免费直播 | 亚洲区另类春色综合小说校园片 | 伊人午夜视频 | 国产精品成人免费一区久久羞羞 | 999久久久久 | 亚洲成人一区 | 国产亚洲欧美精品久久久久久 | 黄色一级免费网站 | 日本精品视频免费 | 欧美另类网站 | 天堂av在线网 | 欧美日韩久久久 | 91成人在线视频 | 91一区二区三区在线观看 | 亚洲va欧美va | 日韩精品无码一区二区三区 | 日韩三级不卡 | 欧美成人黄色 | 久久成人毛片 | 精品美女在线观看 | 日韩欧美在线免费 | 亚洲激情电影在线 | 国产aa免费视频 | 日日躁你夜夜躁你av蜜 | 日本系列中文字幕 | 在线观看片 | 夜夜操天天摸 | 一区二区三区影院 | a视频在线 | 91网站免费观看 | av中文字幕在线看 | 国产精品自产拍在线观看桃花 | 在线观看播放av | 国产一区二区中文字幕 | 在线观看网站黄 | 中文字幕在线网 | 日韩国产精品久久 | 久久精品在线免费观看 | 国产日本在线观看 | 亚洲成a人片77777kkkk1在线观看 | 欧美日韩二区在线 | 精品乱码一区二区三四区 | 免费日韩电影 | 五月婷婷中文字幕 | 国产成人亚洲精品自产在线 | 免费在线观看成人 | 国产一区二区三区免费观看视频 | 一区二区三区在线影院 | 国产不卡视频 | 天天曰视频 | 日批在线看 | 91福利视频免费观看 | 亚洲精品观看 | 伊人小视频 | 免费一级片在线 | 九色精品免费永久在线 | 亚洲一本视频 | 久久精品综合网 | 草草草影院 | 国产成人久久av免费高清密臂 | 99精品国产免费久久 | 久久免费福利 | 国产成人av一区二区三区在线观看 | 911精品美国片911久久久 | 久久这里只有精品首页 | 激情综合网天天干 | 成人黄色小视频 | 精品国产伦一区二区三区观看方式 | 五月婷婷视频在线观看 | 人人干人人做 | 国产手机精品视频 | 天天艹天天 | 国产经典 欧美精品 | 成人在线免费小视频 | 免费观看国产精品视频 | 五月天婷婷在线观看视频 | 又黄又色又爽 | 午夜精品一区二区国产 | 日韩理论在线播放 | 91福利视频一区 | www.狠狠色| 91完整视频| 狠狠狠狠狠狠狠 | 91麻豆免费视频 | 天天操天 | 成年美女黄网站色大片免费看 | 在线观看日本高清mv视频 | 一区二区影视 | 精品美女久久久久 | 成人羞羞视频在线观看免费 | 九色精品 | 欧美久久99 | 国产 日韩 欧美 中文 在线播放 | 一区二区三区av在线 | 在线 你懂 | 日韩在线影视 | 日韩精品视频网站 | 国产精品久久久久久久久久99 | 国产偷国产偷亚洲清高 | 国产视频亚洲精品 | 免费日韩一区二区三区 | 黄色在线观看www | 91成人免费在线视频 | 欧美精品乱码久久久久 | 久草在线最新免费 | 免费毛片一区二区三区久久久 | av资源免费在线观看 | 一区二区三区三区在线 | 免费看91的网站 | 久久精品人人做人人综合老师 | 97精品国产一二三产区 | 免费高清在线观看成人 | 五月婷婷视频在线 | 国产日韩精品一区二区 | 波多野结衣一区 | 国内精品久久久久久久影视麻豆 | 少妇性xxx | 在线观看免费一区 | 日日夜夜精品免费视频 | 91最新网址在线观看 | 免费av免费观看 | 五月婷婷操 | 人人玩人人爽 | 中文字幕 在线看 | 亚洲va欧美va国产va黑人 | 久久久久国产一区二区三区四区 | 在线视频 影院 | 久久人91精品久久久久久不卡 | 国产一级黄色电影 | 久久综合日 | 丝袜美女视频网站 | 天天操夜夜干 | 免费69视频 | 日本精品免费看 | 国产亚洲精品久久久久秋 | 奇米影视999 | 玖玖999| 亚洲国产片 | 在线免费观看黄色av | 99在线热播精品免费99热 | 国产精品手机视频 | 国产黄色在线看 | 精品视频一区在线观看 | 久热国产视频 |