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

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

?? stm3210c_eval_ioe.c

?? stm32+ucos-ii
?? C
?? 第 1 頁 / 共 3 頁
字號:
  tmp |= (uint8_t)(Polarity | Type);
  
  /* Set the register */
  I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_INT_CTRL, tmp);
  
  
  /*  Get the register IOE_REG_INT_CTRL value */ 
  tmp = I2C_ReadDeviceRegister(IOE_2_ADDR, IOE_REG_INT_CTRL);
  /* Mask the polarity and type bits */
  tmp &= ~(uint8_t)0x06;
    
  /* Modify the Interrupt Output line configuration */
  tmp |= (uint8_t)(Polarity | Type);
  
  /* Set the register */
  I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_INT_CTRL, tmp);  
  
  /* If all OK return IOE_OK */
  return IOE_OK;  
}

/**
  * @brief  Writes a value in a register of the IOE through I2C.
  * @param  DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR
  *         or IOE_2_ADDR. 
  * @param  RegisterAddr: The target register adress
  * @param  RegisterValue: The target register value to be written 
  * @retval IOE_OK: if all operations are OK. Other value if error.
  */
uint8_t I2C_WriteDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr, uint8_t RegisterValue)
{
  uint32_t read_verif = 0;

  /* Reset all I2C2 registers */
  I2C_SoftwareResetCmd(IOE_I2C, ENABLE);
  I2C_SoftwareResetCmd(IOE_I2C, DISABLE);

  TimeOut = TIMEOUT_MAX;

  /* Enable the IOE_I2C peripheral  */
  I2C_Cmd(IOE_I2C, ENABLE);

  /* Configure the I2C peripheral */
  IOE_I2C_Config();

  /* Begin the config sequence */
  I2C_GenerateSTART(IOE_I2C, ENABLE);

  /* Test on EV5 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_MODE_SELECT))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }

  /* Transmit the slave address and enable writing operation */
  I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter);
  
  /* Test on EV6 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Transmit the first address for r/w operations */
  I2C_SendData(IOE_I2C, RegisterAddr);
  
  TimeOut = TIMEOUT_MAX;
  
  /* Test on EV8 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Prepare the register value to be sent */
  I2C_SendData(IOE_I2C, RegisterValue);
  
  /* Test on EV8 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* End the configuration sequence */
  I2C_GenerateSTOP(IOE_I2C, ENABLE);
  
#ifdef VERIFY_WRITTENDATA
  /* Verify (if needed) that the loaded data is correct  */
  
  /* Read the just written register*/
  read_verif = I2C_ReadDeviceRegister(DeviceAddr, RegisterAddr);
  /* Load the register and verify its value  */
  if (read_verif != RegisterValue)
  {
    /* Control data wrongly tranfered */
    read_verif = IOE_FAILURE;
  }
  else
  {
    /* Control data correctly transfered */
    read_verif = 0;
  }
#endif
  
  /* Return the verifying value: 0 (Passed) or 1 (Failed) */
  return read_verif;
}

/**
  * @brief  Reads a register of the audio Codec through I2C.
  * @param  DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR
  *         or IOE_2_ADDR. 
  * @param  RegisterAddr: The target register adress (between 00x and 0x24)
  * @retval The value of the read register (0xAA if Timout occured)   
  */
uint8_t I2C_ReadDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr)
{
  uint32_t tmp = 0;
  
  /* Disable the IOE_I2C peripheral  */
  I2C_Cmd(IOE_I2C, DISABLE);
  
  /* Reset all I2C2 registers */
  I2C_SoftwareResetCmd(IOE_I2C, ENABLE);
  I2C_SoftwareResetCmd(IOE_I2C, DISABLE);
  
  /* Configure the I2C peripheral */
  IOE_I2C_Config();
  
  /* Enable the I2C peripheral */
  I2C_GenerateSTART(IOE_I2C, ENABLE);
 
  TimeOut = TIMEOUT_MAX;
  /* Test on EV5 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_MODE_SELECT))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  /* Disable Acknowledgement */
  I2C_AcknowledgeConfig(IOE_I2C, DISABLE);
  
  /* Transmit the slave address and enable writing operation */
  I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter);
  
  TimeOut = TIMEOUT_MAX;
  /* Test on EV6 and clear it */
  
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Transmit the first address for r/w operations */
  I2C_SendData(IOE_I2C, RegisterAddr);
  
  /* Test on EV8 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  /* Regenerate a start condition */
  I2C_GenerateSTART(IOE_I2C, ENABLE);
  
  /* Test on EV5 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_MODE_SELECT))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Transmit the slave address and enable writing operation */
  I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Receiver);
  
  /* Test on EV6 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Test on EV7 and clear it */
  while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_BYTE_RECEIVED))
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* End the configuration sequence */
  I2C_GenerateSTOP(IOE_I2C, ENABLE);
  
  /* Load the register value */
  tmp = I2C_ReceiveData(IOE_I2C);
  
  /* Enable Acknowledgement */
  I2C_AcknowledgeConfig(IOE_I2C, ENABLE);
  
  /* Return the read value */
  return tmp;
}


/**
  * @brief  Reads a buffer of 4 bytes from IO_Expander registers.
  * @param  DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR
  *         or IOE_2_ADDR. 
  * @param  RegisterAddr: The target register adress (between 00x and 0x24)
  * @retval : The value of the read register (0xAA if Timout occured)   
  */
uint32_t I2C_ReadDataBuffer(uint8_t DeviceAddr, uint32_t RegisterAddr)
{
  uint8_t Buffer[4] , idx = 2;
  
  /* Initialize the buffer */
  Buffer[0] = 0; 
  Buffer[1] = 0; 
  Buffer[2] = 0; 
  Buffer[3] = 0;   
  
  /* Disable the I2C1 peripheral  */
  I2C_Cmd(I2C1, DISABLE);

  /* Reset all I2C2 registers */
  I2C_SoftwareResetCmd(I2C1, ENABLE);
  I2C_SoftwareResetCmd(I2C1, DISABLE);

  /* Configure the I2C peripheral */
  IOE_I2C_Config();
  
  /* Enable the I2C peripheral */
  I2C_GenerateSTART(I2C1, ENABLE);
 
  TimeOut = TIMEOUT_MAX;
  
  /* Test on EV5 and clear it */
  while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) 
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
   
  /* Send device address for write */
  I2C_Send7bitAddress(I2C1, DeviceAddr, I2C_Direction_Transmitter);
  
  /* Test on EV6 and clear it */
  while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))  
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Clear EV6 by setting again the PE bit */
  I2C_Cmd(I2C1, ENABLE);
  
  /* Send the device's internal address to write to */
  I2C_SendData(I2C1, RegisterAddr);  
  
  /* Test on EV8 and clear it */
  while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) 
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Send STRAT condition a second time */  
  I2C_GenerateSTART(I2C1, ENABLE);
  
  /* Test on EV5 and clear it */
  while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) 
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* Send EEPROM address for read */
  I2C_Send7bitAddress(I2C1, DeviceAddr, I2C_Direction_Receiver);
  
  /* Test on EV6 and clear it */
  while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) 
  {
    if (TimeOut-- == 0) return IOE_TIEMOUT;
  }
  
  /* While there is data to be read */
  while(idx)  
  {
    if(idx == 1)
    {
      /* Disable Acknowledgement */
      I2C_AcknowledgeConfig(I2C1, DISABLE);
      
      /* Send STOP Condition */
      I2C_GenerateSTOP(I2C1, ENABLE);
    }
    
    /* Test on EV7 and clear it */
    if(I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED))  
    {      
      /* Read a byte from the EEPROM */
      Buffer[idx-1] = I2C_ReceiveData(I2C1);
    
      /* Decrement the read bytes counter */
      idx--;        
    }   
  }
  
  /* Enable Acknowledgement to be ready for another reception */
  I2C_AcknowledgeConfig(I2C1, ENABLE);
  
  /* return a pointer to the buffer */
  return *(uint32_t *)Buffer;
}















/**
  * @brief  Return Touch Screen X position value
  * @param  None
  * @retval X position.
  */
static uint16_t IOE_TS_Read_X(void)
{
  int32_t x, xr;
 
  x = I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_Y);
  
  /* first correction */
  xr =  (x * 320) >> 12;
  /* second correction */
  xr = ((xr * 32)/29) - 17;
  
  if(xr <= 0)
    xr = 0;
  
  return (uint16_t)(xr); 
}

/**
  * @brief  Return Touch Screen Y position value
  * @param  None
  * @retval Y position.
  */
static uint16_t IOE_TS_Read_Y(void)
{
  int32_t y, yr;
  y= I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_X);
  
  yr= (y * 240) >> 12;
  yr = ((yr * 240) / 217) - 12;
  
  if(yr <= 0)
    yr = 0;
  
  return (uint16_t)(yr); 
}

/**
  * @brief  Return Touch Screen Z position value
  * @param  None
  * @retval Z position.
  */
static uint16_t IOE_TS_Read_Z(void)
{
  uint32_t z;
  z = I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_Z);
  
  
  if(z <= 0)
    z = 0;
  
  return (uint16_t)(z); 
}

/**
  * @brief  Initializes the GPIO pins used by the IO expander.
  * @param  None
  * @retval None
  */
static void IOE_GPIO_Config(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  
  /* Enable IOE_I2C and IOE_I2C_PORT & Alternate Function clocks */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_IOE_I2C, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB_IOE_I2C_PORT | RCC_APB_GPIO_IOE_ITPORT | RCC_APB2Periph_AFIO, ENABLE);
  
  /* Reset IOE_I2C IP */
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_IOE_I2C, ENABLE);
  
  /* Release reset signal of IOE_I2C IP */
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_IOE_I2C, DISABLE);
  
  /* IOE_I2C SCL and SDA pins configuration */
  GPIO_InitStructure.GPIO_Pin = IOE_SCL_PIN | IOE_SDA_PIN;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
  GPIO_Init(IOE_I2C_PORT, &GPIO_InitStructure);
  
  /* Set EXTI pin as Input PullUp - IO_Expander_INT */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_IOE_ITPIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_Init(GPIO_IOE_ITPORT, &GPIO_InitStructure);
  
  /* Connect IO Expander IT line to EXTI line */
  GPIO_EXTILineConfig(GPIO_PortSource_IOE_ITPORT, GPIO_PinSource_IOE_ITPIN);
}


/**
  * @brief  Configure the I2C Peripheral used to communicate with IO_Expanders.
  * @param  None
  * @retval None
  */
static void IOE_I2C_Config(void)
{
  I2C_InitTypeDef I2C_InitStructure;
  
  /* IOE_I2C configuration */
  I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
  I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
  I2C_InitStructure.I2C_OwnAddress1 = 0x00;
  I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
  I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
  I2C_InitStructure.I2C_ClockSpeed = IOE_I2C_SPEED;
  
  I2C_Init(IOE_I2C, &I2C_InitStructure);
}


/**
  * @brief  Configures the IO expander Interrupt line and GPIO in EXTI mode.
  * @param  None        
  * @retval None
  */
static void IOE_EXTI_Config(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  NVIC_InitTypeDef NVIC_InitStructure;
  EXTI_InitTypeDef EXTI_InitStructure;
 
  /* Enable Button GPIO clock */
  RCC_APB2PeriphClockCmd(RCC_APB_GPIO_IOE_ITPORT | RCC_APB2Periph_AFIO, ENABLE);
  
  /* Configure Button pin as input floating */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_IOE_ITPIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIO_IOE_ITPORT, &GPIO_InitStructure);  
  
  /* Connect Button EXTI Line to Button GPIO Pin */
  GPIO_EXTILineConfig(GPIO_PortSource_IOE_ITPORT, GPIO_PinSource_IOE_ITPIN);  
  
  /* Configure Button EXTI line */
  EXTI_InitStructure.EXTI_Line = EXTI_LINE_IOE_ITLINE;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;  
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);
  
  /* Enable and set Button EXTI Interrupt to the lowest priority */
  NVIC_InitStructure.NVIC_IRQChannel = IOE_IT_EXTI_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

#ifndef USE_Delay
/**
  * @brief  Inserts a delay time.
  * @param  nCount: specifies the delay time length.
  * @retval None
  */
static void delay(__IO uint32_t nCount)
{
  __IO uint32_t index = 0; 
  for(index = (100000 * nCount); index != 0; index--)
  {
  }
}
#endif /* USE_Delay*/
/**
  * @}
  */ 

/**
  * @}
  */ 

/**
  * @}
  */   
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃久久久久久| 韩日欧美一区二区三区| 日本欧美一区二区三区| 国产成人亚洲精品青草天美 | 欧美在线观看视频一区二区 | 日韩一区二区精品| 国产精品久久久久影院老司| 日本不卡一区二区三区高清视频| 成人av影视在线观看| 91精品国产乱码| 亚洲精品你懂的| 成人高清免费观看| 337p日本欧洲亚洲大胆精品| 日日夜夜一区二区| 欧美最猛性xxxxx直播| 国产精品久久久久三级| 国产精品69久久久久水密桃| 欧美一区二区三区四区在线观看| 亚洲精品乱码久久久久久| 盗摄精品av一区二区三区| 精品免费国产一区二区三区四区| 天堂一区二区在线| 欧美色国产精品| 尤物在线观看一区| 97精品超碰一区二区三区| 国产欧美日产一区| 国产麻豆精品久久一二三| 欧美成人午夜电影| 日韩精品亚洲专区| 在线观看91av| 免费看日韩精品| 在线播放亚洲一区| 日韩中文字幕区一区有砖一区 | 国产精品久久久久永久免费观看 | 日本精品一区二区三区高清| 中文av一区特黄| 国产69精品久久久久777| 精品久久久久香蕉网| 另类综合日韩欧美亚洲| 精品国产免费人成在线观看| 国产在线乱码一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 亚洲私人影院在线观看| 99视频超级精品| 有码一区二区三区| 欧美午夜精品一区| 五月天亚洲婷婷| 日韩一区国产二区欧美三区| 精品一区二区三区蜜桃| 久久久电影一区二区三区| 成人av资源网站| 亚洲精品一卡二卡| 欧美日韩一卡二卡三卡| 日韩精品一二区| 日本一区二区综合亚洲| 91麻豆文化传媒在线观看| 亚洲国产日韩a在线播放| 日韩免费电影一区| eeuss鲁一区二区三区| 亚洲最快最全在线视频| 欧美一级淫片007| 国产盗摄视频一区二区三区| 一区二区在线观看免费| 91精品黄色片免费大全| 国产精一区二区三区| 亚洲日本va午夜在线电影| 欧美日韩精品一区二区天天拍小说| 美脚の诱脚舐め脚责91| 国产欧美精品一区二区三区四区 | 国产精品系列在线观看| 亚洲色图.com| 精品捆绑美女sm三区| av电影在线观看一区| 免费在线看一区| 中文字幕一区二区在线播放| 91精品在线观看入口| 成人综合在线网站| 国产中文字幕一区| 亚洲乱码精品一二三四区日韩在线 | 国产精品理伦片| 欧美男男青年gay1069videost| 国产福利精品一区| 午夜精品福利视频网站| 国产精品久久网站| 久久先锋影音av| 欧美亚洲高清一区| 99久久国产综合精品麻豆| 免费观看久久久4p| 一区二区三区久久| 国产精品网站在线播放| 欧美一区二区三区在线观看视频| 99久久精品费精品国产一区二区| 国产尤物一区二区在线| 午夜国产精品一区| 亚洲精品视频免费看| 国产视频一区在线播放| 欧美日韩国产免费一区二区 | 91麻豆精品国产91久久久更新时间| 国产不卡在线播放| 青草av.久久免费一区| 亚洲精品视频在线观看网站| 欧美国产成人精品| 国产人伦精品一区二区| 精品日韩99亚洲| 国产精品热久久久久夜色精品三区 | 亚洲免费成人av| 久久日韩精品一区二区五区| 国产麻豆一精品一av一免费| 久久精品欧美日韩| 久久伊人蜜桃av一区二区| 欧美一区二区在线免费播放| 欧美日韩成人综合天天影院| 色中色一区二区| 久久亚洲精品小早川怜子| 国产精品视频第一区| 日韩精品专区在线影院观看| 欧美日韩国产色站一区二区三区| 欧美在线观看视频在线| 91麻豆国产精品久久| 色哟哟在线观看一区二区三区| www.欧美日韩| 91免费视频网址| 91视视频在线观看入口直接观看www | 亚洲摸摸操操av| 亚洲欧美日韩中文播放| 亚洲一区二区在线免费看| 亚洲在线视频一区| 偷拍日韩校园综合在线| 天天影视色香欲综合网老头| 日本成人在线网站| 韩国精品主播一区二区在线观看| 激情久久五月天| 粗大黑人巨茎大战欧美成人| 91网站视频在线观看| 在线免费亚洲电影| 8v天堂国产在线一区二区| 日韩欧美电影一二三| 久久精品人人做人人爽97| 亚洲视频小说图片| 亚洲国产一区二区视频| 琪琪久久久久日韩精品| 国产另类ts人妖一区二区| 成人免费视频视频| 在线观看免费视频综合| 欧美一区二区日韩| 国产婷婷色一区二区三区| 亚洲另类春色国产| 日本不卡高清视频| 成人午夜免费av| 欧美乱妇20p| 精品国产第一区二区三区观看体验| 国产欧美日韩精品a在线观看| 亚洲精品欧美激情| 久久99国产精品免费| 成人免费毛片aaaaa**| 久久久www成人免费毛片麻豆 | 欧洲精品一区二区三区在线观看| 欧美日韩国产电影| 久久精品视频免费| 偷拍与自拍一区| 成人av电影免费观看| 欧美一区二区视频在线观看| 国产精品伦一区二区三级视频| 天天综合色天天综合| av在线一区二区| 精品久久久久久久久久久院品网 | 成人小视频在线| 日韩一区二区三区视频在线 | 久久亚洲精精品中文字幕早川悠里| 国产精品久久看| 精品一二三四区| 欧美日韩一区在线| **性色生活片久久毛片| 国产在线视频一区二区| 日韩一区二区三区视频在线| 一区二区三区中文字幕| 粉嫩一区二区三区性色av| 日韩女同互慰一区二区| 亚洲福利视频导航| 91麻豆免费视频| 2019国产精品| 免费看欧美美女黄的网站| 欧美大黄免费观看| 亚洲6080在线| 色婷婷av一区| 国产精品卡一卡二| 国产精品综合一区二区三区| 欧美一区二区在线播放| 午夜精品成人在线视频| 欧美在线视频你懂得| 亚洲私人黄色宅男| 成a人片国产精品| 国产视频一区二区在线观看| 美国一区二区三区在线播放| 日韩一区国产二区欧美三区| 美腿丝袜亚洲一区| 日韩一级片在线观看| 蜜臀精品久久久久久蜜臀| 欧美精品在线一区二区三区| 午夜欧美大尺度福利影院在线看 |