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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? +

?? STM32的恒溫消毒柜設計
??
?? 第 1 頁 / 共 5 頁
字號:
/*********************************************************************************
 * 文件名  :sdio_sdcard.c
 * 描述    :MicroSD卡應用函數庫(SDIO模式)         
 * 實驗平臺:CHD1807-STM32開發板
 * 硬件連接:------------------------------
 *          |   PC8-SDIO-D0  :DATA0       |
 *          |   PC9-SDIO-D1  :DATA1	   |
 *          |   PC10-SDIO-D2 :DATA2       |
 *          |   PC11-SDIO-D3 :CD/DATA3    |
 *          |   PC12-SDIO-CLK:CLK         |
 *          |   PD2-SDIO-CMD :CMD         |
 *           ------------------------------
 * 庫版本  :ST 3.5.0
**********************************************************************************/
#include "sdio_sdcard.h"
#include "usart1.h"		

/* Private macro -------------------------------------------------------------*/
/** 
  * @brief  SDIO Static flags, TimeOut, FIFO Address  
  */
#define NULL 0
#define SDIO_STATIC_FLAGS               ((uint32_t)0x000005FF)
#define SDIO_CMD0TIMEOUT                ((uint32_t)0x00010000)

/** 
  * @brief  Mask for errors Card Status R1 (OCR Register) 
  */
#define SD_OCR_ADDR_OUT_OF_RANGE        ((uint32_t)0x80000000)
#define SD_OCR_ADDR_MISALIGNED          ((uint32_t)0x40000000)
#define SD_OCR_BLOCK_LEN_ERR            ((uint32_t)0x20000000)
#define SD_OCR_ERASE_SEQ_ERR            ((uint32_t)0x10000000)
#define SD_OCR_BAD_ERASE_PARAM          ((uint32_t)0x08000000)
#define SD_OCR_WRITE_PROT_VIOLATION     ((uint32_t)0x04000000)
#define SD_OCR_LOCK_UNLOCK_FAILED       ((uint32_t)0x01000000)
#define SD_OCR_COM_CRC_FAILED           ((uint32_t)0x00800000)
#define SD_OCR_ILLEGAL_CMD              ((uint32_t)0x00400000)
#define SD_OCR_CARD_ECC_FAILED          ((uint32_t)0x00200000)
#define SD_OCR_CC_ERROR                 ((uint32_t)0x00100000)
#define SD_OCR_GENERAL_UNKNOWN_ERROR    ((uint32_t)0x00080000)
#define SD_OCR_STREAM_READ_UNDERRUN     ((uint32_t)0x00040000)
#define SD_OCR_STREAM_WRITE_OVERRUN     ((uint32_t)0x00020000)
#define SD_OCR_CID_CSD_OVERWRIETE       ((uint32_t)0x00010000)
#define SD_OCR_WP_ERASE_SKIP            ((uint32_t)0x00008000)
#define SD_OCR_CARD_ECC_DISABLED        ((uint32_t)0x00004000)
#define SD_OCR_ERASE_RESET              ((uint32_t)0x00002000)
#define SD_OCR_AKE_SEQ_ERROR            ((uint32_t)0x00000008)
#define SD_OCR_ERRORBITS                ((uint32_t)0xFDFFE008)

/** 
  * @brief  Masks for R6 Response 
  */
#define SD_R6_GENERAL_UNKNOWN_ERROR     ((uint32_t)0x00002000)
#define SD_R6_ILLEGAL_CMD               ((uint32_t)0x00004000)
#define SD_R6_COM_CRC_FAILED            ((uint32_t)0x00008000)

#define SD_VOLTAGE_WINDOW_SD            ((uint32_t)0x80100000)
#define SD_HIGH_CAPACITY                ((uint32_t)0x40000000)
#define SD_STD_CAPACITY                 ((uint32_t)0x00000000)
#define SD_CHECK_PATTERN                ((uint32_t)0x000001AA)

#define SD_MAX_VOLT_TRIAL               ((uint32_t)0x0000FFFF)
#define SD_ALLZERO                      ((uint32_t)0x00000000)

#define SD_WIDE_BUS_SUPPORT             ((uint32_t)0x00040000)
#define SD_SINGLE_BUS_SUPPORT           ((uint32_t)0x00010000)
#define SD_CARD_LOCKED                  ((uint32_t)0x02000000)

#define SD_DATATIMEOUT                  ((uint32_t)0xFFFFFFFF)
#define SD_0TO7BITS                     ((uint32_t)0x000000FF)
#define SD_8TO15BITS                    ((uint32_t)0x0000FF00)
#define SD_16TO23BITS                   ((uint32_t)0x00FF0000)
#define SD_24TO31BITS                   ((uint32_t)0xFF000000)
#define SD_MAX_DATA_LENGTH              ((uint32_t)0x01FFFFFF)

#define SD_HALFFIFO                     ((uint32_t)0x00000008)
#define SD_HALFFIFOBYTES                ((uint32_t)0x00000020)

/** 
  * @brief  Command Class Supported 
  */
#define SD_CCCC_LOCK_UNLOCK             ((uint32_t)0x00000080)
#define SD_CCCC_WRITE_PROT              ((uint32_t)0x00000040)
#define SD_CCCC_ERASE                   ((uint32_t)0x00000020)

/** 
  * @brief  Following commands are SD Card Specific commands.
  *         SDIO_APP_CMD should be sent before sending these commands. 
  */
#define SDIO_SEND_IF_COND               ((uint32_t)0x00000008)
																


/* Private variables ---------------------------------------------------------*/
static uint32_t CardType =  SDIO_STD_CAPACITY_SD_CARD_V1_1;	//存儲卡的類型,先把它初始化為1.1協議的卡
static uint32_t CSD_Tab[4], CID_Tab[4], RCA = 0;//存儲CSD,DID,寄存器和卡相對地址
static uint8_t SDSTATUS_Tab[16]; //存儲卡狀態,是CSR的一部分
__IO uint32_t StopCondition = 0; //用于停止卡操作的標志
__IO SD_Error TransferError = SD_OK; //用于存儲卡錯誤,初始化為正常狀態
__IO uint32_t TransferEnd = 0;	   //用于標志傳輸是否結束,在中斷服務函數中調用
SD_CardInfo SDCardInfo;	  //用于存儲卡的信息,DSR的一部分?

/*用于sdio初始化的結構體*/
SDIO_InitTypeDef SDIO_InitStructure;
SDIO_CmdInitTypeDef SDIO_CmdInitStructure;
SDIO_DataInitTypeDef SDIO_DataInitStructure;   


/* Private function prototypes -----------------------------------------------*/
static SD_Error CmdError(void);
static SD_Error CmdResp1Error(uint8_t cmd);
static SD_Error CmdResp7Error(void);
static SD_Error CmdResp3Error(void);
static SD_Error CmdResp2Error(void);
static SD_Error CmdResp6Error(uint8_t cmd, uint16_t *prca);
static SD_Error SDEnWideBus(FunctionalState NewState);
static SD_Error IsCardProgramming(uint8_t *pstatus);
static SD_Error FindSCR(uint16_t rca, uint32_t *pscr);

static void GPIO_Configuration(void);
static uint32_t SD_DMAEndOfTransferStatus(void);
static void SD_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize);
static void SD_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize);

uint8_t convert_from_bytes_to_power_of_two(uint16_t NumberOfBytes);
  
/* Private functions ---------------------------------------------------------*/

/*
 * 函數名:SD_DeInit
 * 描述  :復位SDIO端口
 * 輸入  :無
 * 輸出  :無
 */
void SD_DeInit(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;
  
  /*!< Disable SDIO Clock */
  SDIO_ClockCmd(DISABLE);
  
  /*!< Set Power State to OFF */
  SDIO_SetPowerState(SDIO_PowerState_OFF);

  /*!< DeInitializes the SDIO peripheral */
  SDIO_DeInit();
  
  /*!< Disable the SDIO AHB Clock */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_SDIO, DISABLE);

  /*!< Configure PC.08, PC.09, PC.10, PC.11, PC.12 pin: D0, D1, D2, D3, CLK pin */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  /*!< Configure PD.02 CMD line */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
}

/*
 * 函數名:NVIC_Configuration
 * 描述  :SDIO 優先級配置為最高優先級。
 * 輸入  :無
 * 輸出  :無
 */
void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;

  /* Configure the NVIC Preemption Priority Bits */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

  NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

/**
  * @brief  Returns the DMA End Of Transfer Status.
  * @param  None
  * @retval DMA SDIO Channel Status.
  */
uint32_t SD_DMAEndOfTransferStatus(void)
{
  return (uint32_t)DMA_GetFlagStatus(DMA2_FLAG_TC4);   //Channel4 transfer complete flag. 

}


 /*
 * 函數名:SD_DMA_RxConfig
 * 描述  :為SDIO接收數據配置DMA2的通道4的請求
 * 輸入  :BufferDST:用于裝載數據的變量指針
 		   BufferSize:	緩沖區大小
 * 輸出  :無
 */
void SD_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize)
{
  DMA_InitTypeDef DMA_InitStructure;

  DMA_ClearFlag(DMA2_FLAG_TC4 | DMA2_FLAG_TE4 | DMA2_FLAG_HT4 | DMA2_FLAG_GL4);//清除DMA標志位

  /*!< DMA2 Channel4 disable */
  DMA_Cmd(DMA2_Channel4, DISABLE);	//SDIO為第四通道

  /*!< DMA2 Channel4 Config */
  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SDIO_FIFO_ADDRESS;  //外設地址,fifo
  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)BufferDST; //目標地址
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;	//外設為原地址
  DMA_InitStructure.DMA_BufferSize = BufferSize / 4;  //1/4緩存大小
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//使能外設地址不自增
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;	  //使能存儲目標地址自增
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;  //外設數據大小為字,32位
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;	//外設數據大小為字,32位
  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;			   //不循環,循環模式主要用在adc上
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;	 //通道優先級高
  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;			 //非 存儲器至存儲器模式
  DMA_Init(DMA2_Channel4, &DMA_InitStructure);

  /*!< DMA2 Channel4 enable */			   //不設置dma中斷?
  DMA_Cmd(DMA2_Channel4, ENABLE); 
}

 /*
 * 函數名:SD_DMA_RxConfig
 * 描述  :為SDIO發送數據配置DMA2的通道4的請求
 * 輸入  :BufferDST:裝載了數據的變量指針
 		   BufferSize:	緩沖區大小
 * 輸出  :無
 */
void SD_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize)
{

  DMA_InitTypeDef DMA_InitStructure;

  DMA_ClearFlag(DMA2_FLAG_TC4 | DMA2_FLAG_TE4 | DMA2_FLAG_HT4 | DMA2_FLAG_GL4);

  /*!< DMA2 Channel4 disable */
  DMA_Cmd(DMA2_Channel4, DISABLE);

  /*!< DMA2 Channel4 Config */
  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SDIO_FIFO_ADDRESS;
  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)BufferSRC;
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;//外設為寫入目標
  DMA_InitStructure.DMA_BufferSize = BufferSize / 4;
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;	//外設地址不自增
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;
  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
  DMA_Init(DMA2_Channel4, &DMA_InitStructure);

  /*!< DMA2 Channel4 enable */
  DMA_Cmd(DMA2_Channel4, ENABLE);  
}


/*
 * 函數名:GPIO_Configuration
 * 描述  :初始化SDIO用到的引腳,開啟時鐘。
 * 輸入  :無
 * 輸出  :無
 * 調用  :內部調用
 */
static void GPIO_Configuration(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;

  /*!< GPIOC and GPIOD Periph clock enable */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD , ENABLE);

  /*!< Configure PC.08, PC.09, PC.10, PC.11, PC.12 pin: D0, D1, D2, D3, CLK pin */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  /*!< Configure PD.02 CMD line */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  GPIO_Init(GPIOD, &GPIO_InitStructure); 

      /*!< Enable the SDIO AHB Clock */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_SDIO, ENABLE);

  /*!< Enable the DMA2 Clock */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE);
}




/*
 * 函數名:SD_Init
 * 描述  :初始化SD卡,使卡處于就緒狀態(準備傳輸數據)
 * 輸入  :無
 * 輸出  :-SD_Error SD卡錯誤代碼
 *         成功時則為 SD_OK
 * 調用  :外部調用
 */
SD_Error SD_Init(void)
{
	/*重置SD_Error狀態*/
  SD_Error errorstatus = SD_OK;
  
  /* SDIO 外設底層引腳初始化 */
  GPIO_Configuration();

  /*對SDIO的所有寄存器進行復位*/
  SDIO_DeInit();  

  /*上電并進行卡識別流程,確認卡的操作電壓  */
  errorstatus = SD_PowerON(); 

  /*如果上電,識別不成功,返回“響應超時”錯誤 */
  if (errorstatus != SD_OK)
  {
    /*!< CMD Response TimeOut (wait for CMDSENT flag) */
    return(errorstatus);	
  }

  /*卡識別成功,進行卡初始化    */
  errorstatus = SD_InitializeCards(); 

  if (errorstatus != SD_OK)	  //失敗返回
  {
    /*!< CMD Response TimeOut (wait for CMDSENT flag) */
    return(errorstatus);
  }

  /*!< Configure the SDIO peripheral 
  上電識別,卡初始化都完成后,進入數據傳輸模式,提高讀寫速度
  速度若超過24M要進入bypass模式	  
  !< on STM32F2xx devices, SDIOCLK is fixed to 48MHz
  !< SDIOCLK = HCLK, SDIO_CK = HCLK/(2 + SDIO_TRANSFER_CLK_DIV) */  
  SDIO_InitStructure.SDIO_ClockDiv = SDIO_TRANSFER_CLK_DIV;   
  SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising; 		 //上升沿采集數據
  SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable;  //時鐘頻率若超過24M,要開啟此模式
  SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable;	   //若開啟此功能,在總線空閑時關閉sd_clk時鐘
  SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_1b;						//1位模式
  SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; //硬件流,若開啟,在FIFO不能進行發送和接收數據時,數據傳輸暫停
  SDIO_Init(&SDIO_InitStructure);
  
  if (errorstatus == SD_OK)
  {
    /*----------------- Read CSD/CID MSD registers ------------------*/
    errorstatus = SD_GetCardInfo(&SDCardInfo);	 //用來讀取csd/cid寄存器
  }

  if (errorstatus == SD_OK)
  {
    /*----------------- Select Card --------------------------------*/
    errorstatus = SD_SelectDeselect((uint32_t) (SDCardInfo.RCA << 16));	  //通過cmd7  ,rca選擇要操作的卡
  }

  if (errorstatus == SD_OK)
  {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
4438x成人网最大色成网站| 欧美美女直播网站| 久久99热这里只有精品| 亚洲国产日韩a在线播放性色| 樱桃视频在线观看一区| 一区二区三区在线观看欧美| 亚洲综合一区在线| 亚洲午夜精品17c| 爽好多水快深点欧美视频| 亚洲国产一二三| 午夜国产精品影院在线观看| 成人av在线播放网址| 国产suv精品一区二区883| 国产成人精品午夜视频免费| 北岛玲一区二区三区四区| 成人av在线网| 欧美日韩另类国产亚洲欧美一级| 欧美精品久久久久久久多人混战| 7777精品伊人久久久大香线蕉最新版| 在线播放国产精品二区一二区四区 | 久久久国产一区二区三区四区小说 | 91同城在线观看| 色哟哟欧美精品| 欧美精品久久久久久久久老牛影院| 欧美一区二区精品| 国产人妖乱国产精品人妖| 亚洲激情五月婷婷| 久久99久久99精品免视看婷婷 | 亚洲欧美一区二区在线观看| 亚洲高清久久久| 国产老妇另类xxxxx| 成人伦理片在线| 制服丝袜亚洲播放| 日本一区二区三区国色天香| 亚洲午夜在线电影| 国产成人亚洲综合a∨婷婷| 91福利资源站| 久久影院午夜片一区| 亚洲自拍偷拍欧美| 国产尤物一区二区在线 | 水野朝阳av一区二区三区| 国产精品影视天天线| 欧美群妇大交群中文字幕| 国产欧美日韩另类一区| 日本不卡的三区四区五区| 波多野结衣中文字幕一区二区三区| 在线91免费看| 国产精品久久久久久久久免费桃花| 美腿丝袜在线亚洲一区| 日本精品视频一区二区| 国产日产欧美一区二区三区| 日韩 欧美一区二区三区| 色哟哟一区二区在线观看| 国产喷白浆一区二区三区| 国产成人av一区| 欧美成人乱码一区二区三区| 洋洋av久久久久久久一区| 国产成人午夜片在线观看高清观看| 欧美精品成人一区二区三区四区| 亚洲天堂2016| 成人在线视频一区二区| 久久这里只精品最新地址| 日本色综合中文字幕| 欧美三级中文字幕在线观看| 亚洲精品视频免费观看| 成人动漫一区二区在线| 国产精品视频在线看| 国产在线视视频有精品| 精品久久一区二区三区| 日本欧美一区二区在线观看| 欧美一区二区视频在线观看2020| 亚洲一区在线观看免费观看电影高清| av在线这里只有精品| 欧美高清在线一区二区| 成人午夜视频免费看| 久久九九全国免费| 国产一区二区三区不卡在线观看| 日韩女优电影在线观看| 另类小说视频一区二区| 欧美本精品男人aⅴ天堂| 美女视频网站黄色亚洲| 久久亚洲二区三区| 国产精品99久久久久久似苏梦涵| 精品国产伦一区二区三区观看体验| 久久精品国产免费看久久精品| 日韩欧美国产一区在线观看| 免费在线观看成人| 久久综合中文字幕| 成人免费视频app| 国产精品传媒在线| 在线免费一区三区| 琪琪久久久久日韩精品| 久久久久久久久久久久电影| 成人一区二区三区| 亚洲综合色区另类av| 宅男在线国产精品| 国产成人精品免费网站| 一区二区在线电影| 91精品麻豆日日躁夜夜躁| 精品在线免费观看| 中文字幕国产精品一区二区| 色伊人久久综合中文字幕| 丝袜a∨在线一区二区三区不卡| 久久色在线观看| 91理论电影在线观看| 美女一区二区三区| 国产精品传媒入口麻豆| 欧美精品亚洲二区| 国产传媒一区在线| 午夜精品久久久久久| 久久精品视频在线看| 色激情天天射综合网| 精品一区二区免费看| 一区二区三区四区蜜桃| 精品福利av导航| 欧美日韩综合在线免费观看| 精品在线免费视频| 天天操天天干天天综合网| 国产欧美精品区一区二区三区| 在线综合视频播放| 在线免费观看一区| 国产精品一区三区| 日本欧美一区二区在线观看| 亚洲精品免费在线观看| 国产午夜精品久久| 91麻豆精品国产| 在线观看91精品国产入口| 国产a精品视频| 国产一区二区主播在线| 日本不卡中文字幕| 亚洲成av人片一区二区梦乃| 中文字幕日韩一区| 26uuu国产日韩综合| 欧美一区二区三区在线观看| 欧美在线观看一二区| proumb性欧美在线观看| 国产在线播放一区三区四| 日本va欧美va欧美va精品| 亚洲成年人影院| 一区二区三区四区在线免费观看 | 欧美精品自拍偷拍| 欧美中文字幕一区二区三区| 白白色亚洲国产精品| 国产精品18久久久久| 久久99精品久久久久久久久久久久| 亚洲小说欧美激情另类| 亚洲综合成人在线| 亚洲国产成人porn| 亚洲综合色噜噜狠狠| 亚洲已满18点击进入久久| 亚洲精品久久嫩草网站秘色| 亚洲欧美日韩国产综合| 亚洲欧美日韩中文播放| 亚洲欧美日韩小说| 亚洲精品免费看| 亚洲一区视频在线观看视频| 亚洲在线观看免费视频| 亚州成人在线电影| 亚洲h在线观看| 青青草成人在线观看| 激情综合网最新| 国产裸体歌舞团一区二区| 国产精品一区二区久久不卡| 成人av一区二区三区| 91免费看视频| 欧美日韩精品三区| 91精品午夜视频| 久久一区二区三区国产精品| 国产精品久久久久精k8 | 美国十次综合导航| 国产**成人网毛片九色 | 久久综合网色—综合色88| 国产免费观看久久| 亚洲男同性恋视频| 日本不卡高清视频| 丁香天五香天堂综合| 欧美亚洲日本一区| 91麻豆精品国产91久久久 | 制服丝袜中文字幕亚洲| 欧美mv日韩mv国产| 亚洲天堂a在线| 日韩高清电影一区| 成人免费毛片高清视频| 欧美日韩精品一区二区天天拍小说| 日韩视频一区二区在线观看| 国产精品人人做人人爽人人添 | 精品亚洲成a人| 色婷婷久久久亚洲一区二区三区| 欧美一区二区观看视频| 国产精品久久久久久久久动漫| 亚洲成人在线观看视频| 成人福利视频网站| 欧美一区二区三级| 亚洲婷婷国产精品电影人久久| 日本欧美韩国一区三区| 91蜜桃网址入口| 久久久噜噜噜久噜久久综合| 亚洲动漫第一页| 99久久夜色精品国产网站| 欧美xxxxxxxx|