亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sdcard.c

?? ARM_CORTEX-M3應(yīng)用實(shí)例開發(fā)詳解光盤
?? C
?? 第 1 頁 / 共 5 頁
字號:
    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);
  }

  errorstatus = SD_OK; /* All cards get intialized */

  return(errorstatus);
}

/*******************************************************************************
* 函數(shù)名  : SD_GetCardInfo
* 功能描述: 獲取卡信息.
* 輸入    : cardinfo 
* 輸出    :無
* Return  : SD_Error: SD卡錯(cuò)誤代碼.
*******************************************************************************/
SD_Error SD_GetCardInfo(SD_CardInfo *cardinfo)
{
  SD_Error errorstatus = SD_OK;
  u8 tmp = 0;

  cardinfo->CardType = (u8)CardType;
  cardinfo->RCA = (u16)RCA;

  /* Byte 0 */
  tmp = (u8)((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 = (u8)((CSD_Tab[0] & 0x00FF0000) >> 16);
  cardinfo->SD_csd.TAAC = tmp;

  /* Byte 2 */
  tmp = (u8)((CSD_Tab[0] & 0x0000FF00) >> 8);
  cardinfo->SD_csd.NSAC = tmp;

  /* Byte 3 */
  tmp = (u8)(CSD_Tab[0] & 0x000000FF);
  cardinfo->SD_csd.MaxBusClkFrec = tmp;

  /* Byte 4 */
  tmp = (u8)((CSD_Tab[1] & 0xFF000000) >> 24);
  cardinfo->SD_csd.CardComdClasses = tmp << 4;

  /* Byte 5 */
  tmp = (u8)((CSD_Tab[1] & 0x00FF0000) >> 16);
  cardinfo->SD_csd.CardComdClasses |= (tmp & 0xF0) >> 4;
  cardinfo->SD_csd.RdBlockLen = tmp & 0x0F;

  /* Byte 6 */
  tmp = (u8)((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 */
  cardinfo->SD_csd.DeviceSize = (tmp & 0x03) << 10;

  /* Byte 7 */
  tmp = (u8)(CSD_Tab[1] & 0x000000FF);
  cardinfo->SD_csd.DeviceSize |= (tmp) << 2;

  /* Byte 8 */
  tmp = (u8)((CSD_Tab[2] & 0xFF000000) >> 24);

  cardinfo->SD_csd.DeviceSize |= (tmp & 0xC0) >> 6;
  cardinfo->SD_csd.MaxRdCurrentVDDMin = (tmp & 0x38) >> 3;
  cardinfo->SD_csd.MaxRdCurrentVDDMax = (tmp & 0x07);

  /* Byte 9 */
  tmp = (u8)((CSD_Tab[2] & 0x00FF0000) >> 16);
  cardinfo->SD_csd.MaxWrCurrentVDDMin = (tmp & 0xE0) >> 5;
  cardinfo->SD_csd.MaxWrCurrentVDDMax = (tmp & 0x1C) >> 2;
  cardinfo->SD_csd.DeviceSizeMul = (tmp & 0x03) << 1;

  /* Byte 10 */
  tmp = (u8)((CSD_Tab[2] & 0x0000FF00) >> 8);
  cardinfo->SD_csd.DeviceSizeMul |= (tmp & 0x80) >> 7;
  cardinfo->SD_csd.EraseGrSize = (tmp & 0x40) >> 6;
  cardinfo->SD_csd.EraseGrMul = (tmp & 0x3F) << 1;

  /* Byte 11 */
  tmp = (u8)(CSD_Tab[2] & 0x000000FF);
  cardinfo->SD_csd.EraseGrMul |= (tmp & 0x80) >> 7;
  cardinfo->SD_csd.WrProtectGrSize = (tmp & 0x7F);

  /* Byte 12 */
  tmp = (u8)((CSD_Tab[3] & 0xFF000000) >> 24);
  cardinfo->SD_csd.WrProtectGrEnable = (tmp & 0x80) >> 7;
  cardinfo->SD_csd.ManDeflECC = (tmp & 0x60) >> 5;
  cardinfo->SD_csd.WrSpeedFact = (tmp & 0x1C) >> 2;
  cardinfo->SD_csd.MaxWrBlockLen = (tmp & 0x03) << 2;

  /* Byte 13 */
  tmp = (u8)((CSD_Tab[3] & 0x00FF0000) >> 16);
  cardinfo->SD_csd.MaxWrBlockLen |= (tmp & 0xC0) >> 6;
  cardinfo->SD_csd.WriteBlockPaPartial = (tmp & 0x20) >> 5;
  cardinfo->SD_csd.Reserved3 = 0;
  cardinfo->SD_csd.ContentProtectAppli = (tmp & 0x01);

  /* Byte 14 */
  tmp = (u8)((CSD_Tab[3] & 0x0000FF00) >> 8);
  cardinfo->SD_csd.FileFormatGrouop = (tmp & 0x80) >> 7;
  cardinfo->SD_csd.CopyFlag = (tmp & 0x40) >> 6;
  cardinfo->SD_csd.PermWrProtect = (tmp & 0x20) >> 5;
  cardinfo->SD_csd.TempWrProtect = (tmp & 0x10) >> 4;
  cardinfo->SD_csd.FileFormat = (tmp & 0x0C) >> 2;
  cardinfo->SD_csd.ECC = (tmp & 0x03);

  /* Byte 15 */
  tmp = (u8)(CSD_Tab[3] & 0x000000FF);
  cardinfo->SD_csd.CSD_CRC = (tmp & 0xFE) >> 1;
  cardinfo->SD_csd.Reserved4 = 1;


  /* Byte 0 */
  tmp = (u8)((CID_Tab[0] & 0xFF000000) >> 24);
  cardinfo->SD_cid.ManufacturerID = tmp;

  /* Byte 1 */
  tmp = (u8)((CID_Tab[0] & 0x00FF0000) >> 16);
  cardinfo->SD_cid.OEM_AppliID = tmp << 8;

  /* Byte 2 */
  tmp = (u8)((CID_Tab[0] & 0x000000FF00) >> 8);
  cardinfo->SD_cid.OEM_AppliID |= tmp;

  /* Byte 3 */
  tmp = (u8)(CID_Tab[0] & 0x000000FF);
  cardinfo->SD_cid.ProdName1 = tmp << 24;

  /* Byte 4 */
  tmp = (u8)((CID_Tab[1] & 0xFF000000) >> 24);
  cardinfo->SD_cid.ProdName1 |= tmp << 16;

  /* Byte 5 */
  tmp = (u8)((CID_Tab[1] & 0x00FF0000) >> 16);
  cardinfo->SD_cid.ProdName1 |= tmp << 8;

  /* Byte 6 */
  tmp = (u8)((CID_Tab[1] & 0x0000FF00) >> 8);
  cardinfo->SD_cid.ProdName1 |= tmp;

  /* Byte 7 */
  tmp = (u8)(CID_Tab[1] & 0x000000FF);
  cardinfo->SD_cid.ProdName2 = tmp;

  /* Byte 8 */
  tmp = (u8)((CID_Tab[2] & 0xFF000000) >> 24);
  cardinfo->SD_cid.ProdRev = tmp;

  /* Byte 9 */
  tmp = (u8)((CID_Tab[2] & 0x00FF0000) >> 16);
  cardinfo->SD_cid.ProdSN = tmp << 24;

  /* Byte 10 */
  tmp = (u8)((CID_Tab[2] & 0x0000FF00) >> 8);
  cardinfo->SD_cid.ProdSN |= tmp << 16;

  /* Byte 11 */
  tmp = (u8)(CID_Tab[2] & 0x000000FF);
  cardinfo->SD_cid.ProdSN |= tmp << 8;

  /* Byte 12 */
  tmp = (u8)((CID_Tab[3] & 0xFF000000) >> 24);
  cardinfo->SD_cid.ProdSN |= tmp;

  /* Byte 13 */
  tmp = (u8)((CID_Tab[3] & 0x00FF0000) >> 16);
  cardinfo->SD_cid.Reserved1 |= (tmp & 0xF0) >> 4;
  cardinfo->SD_cid.ManufactDate = (tmp & 0x0F) << 8;

  /* Byte 14 */
  tmp = (u8)((CID_Tab[3] & 0x0000FF00) >> 8);
  cardinfo->SD_cid.ManufactDate |= tmp;

  /* Byte 15 */
  tmp = (u8)(CID_Tab[3] & 0x000000FF);
  cardinfo->SD_cid.CID_CRC = (tmp & 0xFE) >> 1;
  cardinfo->SD_cid.Reserved2 = 1;

  return(errorstatus);
}

/*******************************************************************************
* 函數(shù)名  : SD_EnableWideBusOperation
* 功能描述 : 使能SD卡數(shù)據(jù)傳輸模式(SD_8/4/1位模式)
* 輸入          : 位寬度模式 
*                       - SDIO_BusWide_8b: 8位數(shù)據(jù)傳輸 (僅MMC卡)
*                       - SDIO_BusWide_4b: 4位數(shù)據(jù)傳輸
*                       - SDIO_BusWide_1b: 1位數(shù)據(jù)傳輸
* 輸出          : 無
* 返回         : SD_Error: SD卡錯(cuò)誤代碼
*******************************************************************************/
SD_Error SD_EnableWideBusOperation(u32 WideMode)
{
  SD_Error errorstatus = SD_OK;

  /* MMC不支持此操作 */
  if (SDIO_MULTIMEDIA_CARD == CardType)
  {
    errorstatus = SD_UNSUPPORTED_FEATURE;
    return(errorstatus);
  }
  else if ((SDIO_SECURE_DIGITAL_CARD == CardType) || (SDIO_HIGH_CAPACITY_SD_CARD == CardType))
  {
    if (SDIO_BusWide_8b == WideMode)
    {
      errorstatus = SD_UNSUPPORTED_FEATURE;
      return(errorstatus);
    }
    else if (SDIO_BusWide_4b == WideMode)
    {
      errorstatus = SDEnWideBus(ENABLE);

      if (SD_OK == errorstatus)
      {
        /* 配置SDIO外設(shè) */
        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);
      }
    }
    else
    {
      errorstatus = SDEnWideBus(DISABLE);

      if (SD_OK == errorstatus)
      {
        /* 配置SDIO外設(shè)  */
        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);
      }
    }
  }

  return(errorstatus);
}

/*******************************************************************************
* 函數(shù)名  : SD_SetDeviceMode
* 功能描述    : Sets device mode whether to operate in Polling, Interrupt or
*                  DMA mode.
* 輸入          : Mode: Specifies the Data Transfer mode.
*                     This parameter can be one of the following values:
*                       - SD_DMA_MODE: Data transfer using DMA.
*                       - SD_INTERRUPT_MODE: Data transfer using interrupts.
*                       - SD_POLLING_MODE: Data transfer using flags.
* 輸出         : None
* 返回         : SD_Error: SD Card Error code.
*******************************************************************************/
SD_Error SD_SetDeviceMode(u32 Mode)
{
  SD_Error errorstatus = SD_OK;

  if ((Mode == SD_DMA_MODE) || (Mode == SD_INTERRUPT_MODE) || (Mode == SD_POLLING_MODE))
  {
    DeviceMode = Mode;
  }
  else
  {
    errorstatus = SD_INVALID_PARAMETER;
  }
  return(errorstatus);

}

/*******************************************************************************
* 函數(shù)名  : SD_SelectDeselect
* 功能描述    : Selects od Deselects the corresponding card.
* 輸入          : addr: Address of the Card to be selected.
* 輸出         : None
* 返回         : SD_Error: SD Card Error code.
*******************************************************************************/
SD_Error SD_SelectDeselect(u32 addr)
{
  SD_Error errorstatus = SD_OK;

  /* Send CMD7 SDIO_SEL_DESEL_CARD */
  SDIO_CmdInitStructure.SDIO_Argument =  addr;
  SDIO_CmdInitStructure.SDIO_CmdIndex = SDIO_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(SDIO_SEL_DESEL_CARD);

  return(errorstatus);
}

/*******************************************************************************
* 函數(shù)名  : SD_ReadBlock
* 功能描述    : 讀塊.
* 輸入         : - addr: 指定數(shù)據(jù)地址.
*                  - readbuff: 緩存指針
*                  - blocksize: 數(shù)據(jù)塊大小.
* 輸出         : 無
* 返回         : SD_Error: 錯(cuò)誤代碼.
*******************************************************************************/
SD_Error SD_ReadBlock(u32 addr, u32 *readbuff, u16 BlockSize)
{
  SD_Error errorstatus = SD_OK;
  u32 count = 0, *tempbuff = readbuff;
  u8 power = 0;

  if (NULL == readbuff)
  {
    errorstatus = SD_INVALID_PARAMETER;
    return(errorstatus);
  }

  TransferError = SD_OK;
  TransferEnd = 0;
  TotalNumberOfBytes = 0;

  /* 清除DPSM配置 */
  SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT;
  SDIO_DataInitStructure.SDIO_DataLength = 0;
  SDIO_DataInitStructure.SDIO_DataBlockSize = SDIO_DataBlockSize_1b;
  SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToCard;
  SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block;
  SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Disable;
  SDIO_DataConfig(&SDIO_DataInitStructure);
  SDIO_DMACmd(DISABLE);

  if (SDIO_GetResponse(SDIO_RESP1) & SD_CARD_LOCKED)
  {
    errorstatus = SD_LOCK_UNLOCK_FAILED;
    return(errorstatus);
  }

  if ((BlockSize > 0) && (BlockSize <= 2048) && ((BlockSize & (BlockSize - 1)) == 0))
  {
    power = convert_from_bytes_to_power_of_two(BlockSize);

    /*設(shè)定塊大小*/
    SDIO_CmdInitStructure.SDIO_Argument = (u32) BlockSize;
    SDIO_CmdInitStructure.SDIO_CmdIndex = SDIO_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(SDIO_SET_BLOCKLEN);

    if (SD_OK != errorstatus)
    {
      return(errorstatus);
    }
  }
  else
  {
    errorstatus = SD_INVALID_PARAMETER;
    return(errorstatus);
  }

  SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT;
  SDIO_DataInitStructure.SDIO_DataLength = BlockSize;
  SDIO_DataInitStructure.SDIO_DataBlockSize = (u32) power << 4;
  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);

  TotalNumberOfBytes = BlockSize;
  StopCondition = 0;
  DestBuffer = readbuff;

  /* 發(fā)送命令CMD17 READ_SINGLE_BLOCK */
  SDIO_CmdInitStructure.SDIO_Argument = (u32)addr;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一二三四区| 亚洲激情第一区| 丁香亚洲综合激情啪啪综合| 国产亚洲精品福利| 国产成人午夜电影网| 国产精品久久久久久妇女6080| 不卡的av在线| 亚洲精品高清在线| 7878成人国产在线观看| 久久福利视频一区二区| 国产视频一区二区在线| 99re8在线精品视频免费播放| 亚洲三级在线观看| 欧美色中文字幕| 九九视频精品免费| 国产精品午夜在线观看| 91久久精品一区二区二区| 在线亚洲高清视频| 国产精品18久久久久久久网站| 韩国一区二区三区| 国产露脸91国语对白| 日本免费新一区视频| 亚洲成人免费在线| 一区二区视频在线| 亚洲桃色在线一区| 国产精品久久看| 国产精品嫩草久久久久| 国产欧美综合在线| 久久99精品视频| 国产精品嫩草久久久久| 欧美色男人天堂| 韩国成人在线视频| 亚洲日本电影在线| 日韩一区二区三区视频在线| 精品一二三四区| 日韩成人免费看| 另类专区欧美蜜桃臀第一页| 久久精品国产久精国产| 精品一区二区三区免费视频| 国产成人8x视频一区二区 | 亚洲国产精品久久艾草纯爱| 成人免费小视频| 亚洲综合一区二区三区| 亚洲福利视频三区| 天天综合日日夜夜精品| 石原莉奈一区二区三区在线观看| 玖玖九九国产精品| 国产高清不卡二三区| 色婷婷av一区二区三区软件| 久久先锋影音av| 欧美疯狂做受xxxx富婆| 色综合视频在线观看| 国产日韩欧美激情| 99re亚洲国产精品| 欧美探花视频资源| 国产精品77777竹菊影视小说| 亚洲国产日韩av| 国产欧美一区二区在线| 欧美精品一二三| 91亚洲大成网污www| 狠狠色丁香婷婷综合久久片| 亚洲精品国产第一综合99久久| 久久综合99re88久久爱| 欧美日韩在线精品一区二区三区激情| 国产欧美视频在线观看| 亚洲区小说区图片区qvod| 蜜臀久久99精品久久久画质超高清| 国产精品1区2区| 欧美撒尿777hd撒尿| 欧美精品一区二区久久久| 水野朝阳av一区二区三区| 亚洲成av人片| 国产激情一区二区三区| 7777女厕盗摄久久久| **性色生活片久久毛片| 成人性生交大合| 亚洲精品欧美激情| 欧美美女一区二区在线观看| 奇米综合一区二区三区精品视频| 成人欧美一区二区三区在线播放| 日韩电影在线一区二区| 欧美一区二区在线免费播放| 美女视频一区在线观看| 久久久精品人体av艺术| 成人午夜精品在线| 一区二区三区蜜桃网| 制服丝袜一区二区三区| 国内久久精品视频| 亚洲色大成网站www久久九九| 91豆麻精品91久久久久久| 蜜桃视频在线观看一区二区| 国产日韩欧美电影| 在线观看免费亚洲| 国产真实乱偷精品视频免| 自拍视频在线观看一区二区| 在线播放一区二区三区| 国产成人精品影视| 午夜精品一区二区三区电影天堂| 欧美成人r级一区二区三区| 亚洲综合一二区| 精品视频在线看| 五月婷婷欧美视频| 91极品美女在线| 一区二区在线观看免费视频播放| 欧美精品久久久久久久久老牛影院| 大尺度一区二区| 亚洲国产精品久久艾草纯爱| 亚洲综合一二三区| 亚洲福利一区二区三区| 亚洲国产日韩综合久久精品| 亚洲精品美腿丝袜| 亚洲精品中文在线| 亚洲精品视频一区二区| 一区二区在线观看免费视频播放| 一区二区三区不卡在线观看| 亚洲在线视频免费观看| 亚洲一区二区成人在线观看| 亚洲国产精品麻豆| 日韩精品高清不卡| 免费高清在线视频一区·| 另类中文字幕网| 国产在线日韩欧美| 福利一区二区在线| 91在线视频网址| 欧美亚洲禁片免费| 欧美男男青年gay1069videost| 91麻豆精品国产91久久久久| 日韩欧美视频一区| 久久人人超碰精品| 国产精品色在线| 亚洲九九爱视频| 亚洲成a人v欧美综合天堂| 日本不卡在线视频| 国产主播一区二区| 99re视频这里只有精品| 欧美三级日韩三级| 精品国产乱码久久久久久久| 欧美韩国日本一区| 亚洲激情中文1区| 天堂影院一区二区| 激情成人午夜视频| 99这里只有久久精品视频| 色综合久久中文字幕综合网| 欧美人体做爰大胆视频| 精品国产精品一区二区夜夜嗨| 欧美激情一区二区三区不卡| 一区二区三区不卡在线观看| 麻豆91精品91久久久的内涵| 国产91综合一区在线观看| 色狠狠桃花综合| 日韩欧美一级片| 国产精品成人免费精品自在线观看| 亚洲永久免费av| 久久精品国产999大香线蕉| 成人午夜激情影院| 欧美日韩一级视频| 久久久久久日产精品| 亚洲激情校园春色| 国内成人免费视频| 91网站在线观看视频| 欧美一区二区精美| 国产精品久久福利| 天天操天天色综合| 成人永久免费视频| 91精品国产综合久久久久久久| 国产丝袜在线精品| 亚洲成a人v欧美综合天堂| 国产91精品一区二区麻豆亚洲| 欧美色男人天堂| 中文字幕乱码久久午夜不卡 | 久久亚洲二区三区| 一区二区三区中文字幕精品精品 | 久久精品国产久精国产| 91网址在线看| 亚洲精品一区二区三区在线观看| 亚洲免费色视频| 另类小说视频一区二区| 国产成a人亚洲精| 国产99久久久国产精品潘金| 国产**成人网毛片九色 | 亚洲影院久久精品| 国产日本一区二区| 亚洲美女偷拍久久| 亚洲精品欧美二区三区中文字幕| 亚洲精品欧美综合四区| 日本在线播放一区二区三区| 欧美制服丝袜第一页| 中文字幕一区二区三区乱码在线| 久久众筹精品私拍模特| 亚洲私人黄色宅男| 激情国产一区二区| 欧美日本一道本| 亚洲男同性视频| 国产伦精品一区二区三区在线观看| 欧美人与z0zoxxxx视频| 综合激情成人伊人| 国产剧情一区二区| 欧美一区二区人人喊爽| 一区二区三区四区激情 | 美国av一区二区|