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

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

?? st79_linuart.c

?? st公司新出的一款8位單片機st79的lib庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] LINUART_WordLength can be LINUART_WordLength_8D or LINUART_WordLength_9D to select the lenght of data frame.
  * @param[in] LINUART_StopBits can 0.5, 1, 1.5 or 2 stopbits,
  * @param[in] LINUART_Parity can be LINUART_Parity_No, LINUART_Parity_Odd or LINUART_Parity_Even,
  * @param[in] LINUART_BaudRate  the baudrate,
  * @param[in] MasterFrequency can be obtained using the CLK_GetClocksFreq function,
  * @param[in] LINUART_Mode LINUART_Mode_TypeDef,
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * LINUART_Init(LINUART, LINUART_InitStruct)
  * @endcode
  */
void LINUART_Init(LINUART_TypeDef* LINUARTx,
                  LINUART_WordLength_TypeDef LINUART_WordLength,
                  LINUART_StopBits_TypeDef LINUART_StopBits,
                  LINUART_Parity_TypeDef LINUART_Parity,
                  u32 LINUART_BaudRate,
                  u32 MasterFrequency,
                  LINUART_Mode_TypeDef LINUART_Mode)
{

    u32 BaudRate_Mantissa, BaudRate_Mantissa100;

    assert(IS_LINUART_WordLength_VALUE_OK(LINUART_WordLength));

    assert(IS_LINUART_StopBits_VALUE_OK(LINUART_StopBits));

    assert(IS_LINUART_Parity_VALUE_OK(LINUART_Parity));

    /* Assert: BaudRate value should be <= 625000 bps */
    assert(IS_LINUART_BAUDRATE_OK(LINUART_BaudRate));

    /* Assert: USART_Mode value should exclude values such as  USART_ModeTx_Enable|USART_ModeTx_Disable */
    assert(IS_LINUART_MODE_VALUE_OK((u8)LINUART_Mode));

    /* Wait for no Transmition before modifying the M bit */
    /* while(!(LINUARTx->SR&LINUART_SR_TC));      */

    LINUARTx->CR1 &= (u8)(~LINUART_CR1_M);     /**< Clear the word length bit */
    LINUARTx->CR1 |= (u8)LINUART_WordLength; /**< Set the word length bit according to LINUART_WordLength value */

    LINUARTx->CR3 &= (u8)(~LINUART_CR3_STOP);  /**< Clear the STOP bits */
    LINUARTx->CR3 |= (u8)LINUART_StopBits;  /**< Set the STOP bits number according to LINUART_StopBits value  */

    LINUARTx->CR1 &= (u8)(~(LINUART_CR1_PCEN|LINUART_CR1_PS));  /**< Clear the Parity Control bit */
    LINUARTx->CR1 |= (u8)LINUART_Parity;     /**< Set the Parity Control bit to LINUART_Parity value */

    LINUARTx->BRR1 &= (u8)(~LINUART_BRR1_DIVM);  /**< Clear the LSB mantissa of LINUARTDIV  */
    LINUARTx->BRR2 &= (u8)(~LINUART_BRR2_DIVM);  /**< Clear the MSB mantissa of LINUARTDIV  */
    LINUARTx->BRR2 &= (u8)(~LINUART_BRR2_DIVF);  /**< Clear the Fraction bits of LINUARTDIV */

    /**< Set the LINUART BaudRates in BRR1 and BRR2 registers according to LINUART_BaudRate value */
    BaudRate_Mantissa    = (MasterFrequency / (LINUART_BaudRate << 4));
    BaudRate_Mantissa100 = ((MasterFrequency * 100) / (LINUART_BaudRate << 4));
    LINUARTx->BRR2 |= (u8)((u8)((u8)((u8)(BaudRate_Mantissa100 - (BaudRate_Mantissa * 100)) << 4) / 100) & (u8)0x0F); /**< Set the fraction of LINUARTDIV  */
    LINUARTx->BRR2 |= (u8)((BaudRate_Mantissa >> 4) & (u8)0xF0); /**< Set the MSB mantissa of LINUARTDIV  */
    LINUARTx->BRR1 |= (u8)BaudRate_Mantissa;           /**< Set the LSB mantissa of LINUARTDIV  */


    if ((u8)LINUART_Mode&(u8)LINUART_Mode_Tx_Enable)
    {
        LINUARTx->CR2 |= LINUART_CR2_TEN;  /**< Set the Transmitter Enable bit */
    }
    else
    {
        LINUARTx->CR2 &= (u8)(~LINUART_CR2_TEN);  /**< Clear the Transmitter Disable bit */
    }
    if ((u8)LINUART_Mode & (u8)LINUART_Mode_Rx_Enable)
    {
        LINUARTx->CR2 |= LINUART_CR2_REN;  /**< Set the Receiver Enable bit */
    }
    else
    {
        LINUARTx->CR2 &= (u8)(~LINUART_CR2_REN);  /**< Clear the Receiver Disable bit */
    }
}


/**
  * @brief Enables or disables the specified LINUART interrupts.
  * @par Full description:
  * Enables or disables the specified LINUART interrupts.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] LINUART_IT specifies the LINUART interrupt sources to be
  *                    enabled or disabled.
  *                    This parameter can be one of the following values:
  *                       - LINUART_IT_PIEN
  *                       - LINUART_IT_TCIEN
  *                       - LINUART_IT_RIEN
  *                       - LINUART_IT_ILIEN
  *                       - LINUART_IT_RIEN
   *                      - LINUART_IT_LBDIEN
   *		        - LINUART_IT_LHDIEN
  * @param[in] NewState new state of the specified LINUART interrupts.
 *                    This parameter can be: ENABLE or DISABLE.
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * LINUART_ITConfig(LINUART, LINUART_IT_PIEN, ENABLE)
  * @endcode
  */
void LINUART_ITConfig(LINUART_TypeDef* LINUARTx, LINUART_IT_TypeDef LINUART_IT, FunctionalState NewState)
{
    assert(IS_LINUART_IT_VALUE_OK(LINUART_IT));
    assert(IS_STATE_VALUE_OK(NewState));

    if (NewState)
    {
        /**< Enable the Interrupt bits according to LINUART_IT mask */
        LINUARTx->CR2 |= (u8)(((u8)LINUART_IT) & (u8)(LINUART_CR2_TIEN | LINUART_CR2_TCIEN | LINUART_CR2_RIEN | LINUART_CR2_ILIEN));
        LINUARTx->CR1 |= (u8)((u8)LINUART_IT & LINUART_CR1_PIEN);
        LINUARTx->CR4 |= (u8)((u8)((u8)LINUART_IT << 4) & LINUART_CR4_LBDIEN);
#ifdef HW_PLATFORM_CUT10
        LINUARTx->CR5 |= (u8)((u8)LINUART_IT  & LINUART_CR5_LHDIEN);
#endif
    }
    else
    {
        /**< Disable the interrupt bits according to LINUART_IT mask */

        LINUARTx->CR2 &= (u8)(~(((u8)LINUART_IT) & (u8)(LINUART_CR2_TIEN | LINUART_CR2_TCIEN | LINUART_CR2_RIEN | LINUART_CR2_ILIEN)));
        LINUARTx->CR1 &= (u8)(~((u8)LINUART_IT & LINUART_CR1_PIEN));
        LINUARTx->CR4 &= (u8)(~((u8)((u8)LINUART_IT << 4) & LINUART_CR4_LBDIEN));
#ifdef HW_PLATFORM_CUT10
        LINUARTx->CR5 &= (u8)(~((u8)LINUART_IT  & LINUART_CR5_LHDIEN));
#endif
    }

}


/**
  * @brief Sets the LINUART LIN Break detection length.
  * @par Full description:
  * Sets the LINUART LIN Break detection length.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] LINUART_LINBreakDetectionLength specifies the LIN break
  *                    detection length.
  *                    This parameter can be one of the following values:
  *                       - LINUART_LINBreakDetectionLength10
  *                       - LINUART_LINBreakDetectionLength11
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * LINUART_LINBreakDetectionConfig(LINUART, LINUART_LINBreakDetectionLength11)
  * @endcode
  */
void LINUART_LINBreakDetectionConfig(LINUART_TypeDef* LINUARTx, LINUART_LINBreakDetectionLength_TypeDef LINUART_LINBreakDetectionLength)
{
    assert(IS_LINUART_LINBreakDetectionLength_VALUE_OK(LINUART_LINBreakDetectionLength));

    if (LINUART_LINBreakDetectionLength == LINUART_LINBreakDetectionLength10)
    {
        LINUARTx->CR4 &= ((u8)~LINUART_CR4_LBDL);
    }
    else
    {
        LINUARTx->CR4 |= LINUART_CR4_LBDL;
    }
}

#ifdef HW_PLATFORM_CUT10
void LINUART_LINConfig(LINUART_TypeDef* LINUARTx, LINUART_Slave_TypeDef LINUART_Slave, LINUART_Autosync_TypeDef LINUART_Autosync, LINUART_DivUp_TypeDef LINUART_DivUp)
{
    assert(IS_LINUART_Slave_VALUE_OK(LINUART_Slave));

    assert(IS_LINUART_Autosync_VALUE_OK(LINUART_Autosync));

    assert(IS_LINUART_DivUp_VALUE_OK(LINUART_DivUp));

    if (LINUART_Slave==LINUART_LIN_Master_Mode)
        LINUARTx->CR5 &= ((u8)~ LINUART_CR5_LSLV);
    else
        LINUARTx->CR5 |=  LINUART_CR5_LSLV;

    if (LINUART_Autosync==LINUART_LIN_Autosync_Disable)
        LINUARTx->CR5 &= ((u8)~ LINUART_CR5_LASE );
    else
        LINUARTx->CR5 |=  LINUART_CR5_LASE ;

    if (LINUART_DivUp==LINUART_LIN_DivUp_LBRR1)
        LINUARTx->CR5 &= ((u8)~ LINUART_CR5_LDUM);
    else
        LINUARTx->CR5 |=  LINUART_CR5_LDUM;

}
#endif

/**
  * @brief Enables or disables the LINUART抯 LIN mode.
  * @par Full description:
  * Enables or disables the LINUART抯 LIN mode.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] NewState is new state of the LINUART LIN mode.
  *                    This parameter can be: ENABLE or DISABLE.
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * LINUART_LINCmd(LINUART, ENABLE)
  * @endcode
  */
void LINUART_LINCmd(LINUART_TypeDef* LINUARTx, FunctionalState NewState)
{
    assert(IS_STATE_VALUE_OK(NewState));

    if (NewState)
    {
        /* Enable the LIN mode by setting the LINE bit in the CR2 register */
        LINUARTx->CR3 |= LINUART_CR3_LINEN;
    }
    else
    {
        /* Disable the LIN mode by clearing the LINE bit in the CR2 register */
        LINUARTx->CR3 &= ((u8)~LINUART_CR3_LINEN);
    }
}


/**
  * @brief Returns the most recent received data by the LINUART peripheral.
  * @par Full description:
  * Returns the most recent received data by the LINUART peripheral.
  * @param[in] LINUARTx can be only LINUART.
  * @retval u16 Received Data
  * @par Required preconditions:
  * LINUART_Cmd(LINUART, ENABLE);
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * u8 my_data;
  * my_data = LINUART_ReceiveData8(LINUART);
  * @endcode
  */
u8 LINUART_ReceiveData8(LINUART_TypeDef* LINUARTx)
{
    /*!< Wait until reception completed  */
    /*! while(!(LINUARTx->SR&LINUART_SR_RXNE)); */
    return LINUARTx->DR;
}


/**
  * @brief Returns the most recent received data by the LINUART peripheral.
  * @par Full description:
  * Returns the most recent received data by the LINUART peripheral.
  * @param[in] LINUARTx can be only LINUART.
  * @retval u16 Received Data
  * @par Required preconditions:
  * LINUART_Cmd(LINUART, ENABLE);
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * u16 my_data;
  * my_data = LINUART_ReceiveData9(LINUART);
  * @endcode
  */
u16 LINUART_ReceiveData9(LINUART_TypeDef* LINUARTx)
{
    /*!< Wait until reception completed  */
    /*! while(!(LINUARTx->SR&LINUART_SR_RXNE)); */
    return (u16)((((u16)LINUARTx->DR) | ((u16)(((u16)((u16)LINUARTx->CR1 & (u16)LINUART_CR1_R8)) << 1))) & ((u16)0x01FF));
}

/**
  * @brief Determines if the LINUART is in mute mode or not.
  * @par Full description:
  * Determines if the LINUART is in mute mode or not.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] NewState: new state of the LINUART mode.
  *                    This parameter can be: ENABLE or DISABLE.
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * LINUART_ReceiverWakeUpCmd(LINUART, DISABLE);
  * @endcode
  */
void LINUART_ReceiverWakeUpCmd(LINUART_TypeDef* LINUARTx, FunctionalState NewState)
{
    assert(IS_STATE_VALUE_OK(NewState));

    if (NewState)
    {
        /* Enable the mute mode LINUART by setting the RWU bit in the CR2 register */
        LINUARTx->CR2 |= LINUART_CR2_RWU;
    }
    else
    {
        /* Disable the mute mode LINUART by clearing the RWU bit in the CR1 register */
        LINUARTx->CR2 &= ((u8)~LINUART_CR2_RWU);
    }
}

/**
  * @brief Transmits break characters.
  * @par Full description:
  * Transmits break characters on the LINUART peripheral.
  * @param[in] LINUARTx can be only LINUART.
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * @code
  * LINUART_SendBreak(LINUART);
  * @endcode
  */
void LINUART_SendBreak(LINUART_TypeDef* LINUARTx)
{
    LINUARTx->CR2 |= LINUART_CR2_SBK;
}

/**
  * @brief Transmits 8 bit data through the LINUART peripheral.
  * @par Full description:
  * Transmits 8 bit data through the LINUART peripheral.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] Data: the data to transmit.
  * @retval void None
  * @par Required preconditions:
  * LINUART_Cmd(LINUART, ENABLE);
  * @par Called functions:
  * None
  * @par Example:
  * Send 0x55 using LINUART
  * @code
  * u8 my_data = 0x55;
  * LINUART_SendData8(LINUART, my_data);
  * @endcode
  */
void LINUART_SendData8(LINUART_TypeDef* LINUARTx, u8 Data)
{

    /*! Send data only if Transmitter Enabled and if the LINUART is Enabled   */
    /*! if((LINUARTx->CR2&LINUART_CR2_TEN)&(~(LINUARTx->CR1&LINUART_CR1_LINUARTDD)))      */
    /*! Wait until previous transmission completed                          */
    /*! while(!(LINUARTx->SR&LINUART_SR_TC));                                     */
    /* Transmit Data */
    LINUARTx->DR = Data;
}

/**
  * @brief Transmits 9 bit data through the LINUART peripheral.
  * @par Full description:
  * Transmits 9 bit data through the LINUART peripheral.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] Data: the data to transmit.
  * @retval void None
  * @par Required preconditions:
  * LINUART_Cmd(LINUART, ENABLE);
  * @par Called functions:
  * None
  * @par Example:
  * Send 0x103 using LINUART
   * @code
  * u16 my_data = 0x103;
  * LINUART_SendData9(LINUART, my_data);
  * @endcode
  */
void LINUART_SendData9(LINUART_TypeDef* LINUARTx, u16 Data)
{
    /*! Send data only if Transmitter Enabled and if the LINUART is Enabled   */
    /*! if((LINUART.CR2&LINUART_CR2_TEN)&(~(LINUART.CR1&LINUART_CR1_LINUARTDD)))      */
    /*! Wait until previous transmission completed                          */
    /*! while(!(LINUARTx->SR&LINUART_SR_TC));                                     */

    LINUARTx->CR1 &= ((u8)~LINUART_CR1_T8);                  /**< Clear the transmit data bit 8     */
    LINUARTx->CR1 |= (u8)(((u8)(Data >> 2)) & LINUART_CR1_T8); /**< Write the transmit data bit [8]   */
    LINUARTx->DR   = (u8)(Data);                    /**< Write the transmit data bit [0:7] */

}



/**
  * @brief Sets the address of the LINUART node.
  * @par Full description:
  * Sets the address of the LINUART node.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] LINUART_Address: Indicates the address of the LINUART node.
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * Set the address of the LINUART node at 0x04
  * @code
  * u8 my_LINUART_Address = 0x04;
  * LINUART_SetAddress(LINUART, my_LINUART_Address);
  * @endcode
  */
void LINUART_SetAddress(LINUART_TypeDef* LINUARTx, u8 LINUART_Address)
{
    /*Assert for x LINUART_Address*/
    assert(IS_LINUART_LINUART_Address_VALUE_OK(LINUART_Address));

    /* Clear the LINUART address */
    LINUARTx->CR4 &= ((u8)~LINUART_CR4_ADD);
    /* Set the LINUART address node */
    LINUARTx->CR4 |= LINUART_Address;
}


/**
  * @brief Selects the USART WakeUp method.
  * @par Full description:
  * Selects the USART WakeUp method.
  * @param[in] LINUARTx can be only LINUART.
  * @param[in] LINUART_WakeUp: specifies the LINUART wakeup method.
  *                    This parameter can be one of the following values:
  *                        - LINUART_WakeUp_IdleLine
  *                        - LINUART_WakeUp_AddressMark
  * @retval void None
  * @par Required preconditions:
  * None
  * @par Called functions:
  * None
  * @par Example:
  * LINUART WakeUp Idle line .
  * @code
    * LINUART_WakeUpConfig(LINUART,LINUART_WakeUp_IdleLine);
  * @endcode
  */
void LINUART_WakeUpConfig(LINUART_TypeDef* LINUARTx, LINUART_WakeUp_TypeDef LINUART_WakeUp)
{
    assert(IS_LINUART_WakeUp_VALUE_OK(LINUART_WakeUp));

    LINUARTx->CR1 &= ((u8)~LINUART_CR1_WAKE);
    LINUARTx->CR1 |= (u8)LINUART_WakeUp;
}

/**
  * @}
  */

/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆成人免费电影| 美腿丝袜一区二区三区| 久久婷婷色综合| 26uuu国产日韩综合| 欧美一区二区三区啪啪| 7777精品伊人久久久大香线蕉的| 91精品国产综合久久福利| 99精品国产一区二区三区不卡| 一区二区三区四区乱视频| 亚洲欧美在线视频观看| 一区二区三区成人| 午夜在线电影亚洲一区| 蜜臀久久99精品久久久久久9| 日韩欧美电影一二三| 精品国产免费久久| 久久久久久久综合日本| 国产精品卡一卡二| 亚洲精品免费在线播放| 日本欧美在线看| 韩国女主播成人在线| av亚洲精华国产精华精| 在线精品视频免费播放| 欧美一级理论性理论a| 久久亚洲欧美国产精品乐播 | 福利一区在线观看| 国产成人一级电影| 91官网在线免费观看| 9191精品国产综合久久久久久| 成人综合婷婷国产精品久久蜜臀 | 久久精品国产精品亚洲精品| 国产福利91精品| 欧美日韩中文国产| 国产日韩精品一区| 亚洲综合视频在线| 国内一区二区视频| 99久久99久久久精品齐齐| 欧美美女激情18p| 欧美国产激情二区三区| 欧美96一区二区免费视频| 成人18视频日本| 精品国产麻豆免费人成网站| 亚洲精品国产a久久久久久| 99久久精品国产一区二区三区 | av亚洲精华国产精华| 日韩视频一区二区三区在线播放| 欧美午夜宅男影院| 精品国产91洋老外米糕| 亚洲成人福利片| 91视频一区二区| 国产精品欧美久久久久无广告| 国产无遮挡一区二区三区毛片日本| 日韩欧美国产不卡| 亚洲成人中文在线| 97精品久久久午夜一区二区三区 | 欧美一区在线视频| 日韩精品一区二区三区视频播放| 97se亚洲国产综合在线| 欧美在线观看禁18| 久久免费午夜影院| 国产精品美女一区二区三区| 免费成人你懂的| 97久久超碰国产精品电影| 日韩免费看网站| 曰韩精品一区二区| 久久精品国产一区二区三区免费看 | 97se亚洲国产综合自在线 | 亚洲影视在线观看| 国产乱码精品一品二品| 色综合久久88色综合天天| 国产精品久久久久四虎| 看电影不卡的网站| 在线免费观看成人短视频| 久久综合色之久久综合| 三级成人在线视频| 国产不卡视频在线观看| 日韩精品在线一区| 午夜精品视频一区| 91免费精品国自产拍在线不卡 | 高清不卡在线观看av| 欧美一区二区三级| 尤物av一区二区| 成人av网在线| 久久免费午夜影院| 久久精品免费看| 日韩一区二区在线观看视频 | 亚洲国产一区二区a毛片| 国产成人av一区二区| 精品国产123| 日本欧美一区二区三区乱码| 欧美三级欧美一级| 1区2区3区国产精品| 国产精品18久久久久久vr| 日韩欧美国产系列| 免费精品视频在线| 欧美天堂一区二区三区| 一区二区三区 在线观看视频| 国产欧美一区二区三区网站| 国内精品久久久久影院薰衣草 | 国产精品色噜噜| 成人国产视频在线观看| 国产欧美视频一区二区| 国产福利不卡视频| 国产精品久久久久7777按摩| 成人久久视频在线观看| 国产精品麻豆视频| 懂色一区二区三区免费观看| 国产精品乱人伦中文| 欧美亚洲动漫精品| 日韩一区精品字幕| 精品日韩成人av| 日韩有码一区二区三区| 日韩三级免费观看| 国产一区二区三区高清播放| 久久女同互慰一区二区三区| 国产成人精品aa毛片| 一区二区三区精品在线观看| 4438亚洲最大| 国产综合久久久久影院| 国产精品少妇自拍| 欧美特级限制片免费在线观看| 日韩精品一区二区三区中文不卡 | 久久久精品国产免大香伊| 国产在线不卡一区| 国产精品久久久久9999吃药| 欧洲人成人精品| 黄一区二区三区| 亚洲日本青草视频在线怡红院| 国产一区二区免费视频| 日韩欧美国产成人一区二区| 国产成人午夜99999| 亚洲欧美国产毛片在线| 欧美一区二视频| 粉嫩av一区二区三区在线播放 | 国产成人啪午夜精品网站男同| 在线观看一区二区视频| 日韩精品免费视频人成| 国产欧美va欧美不卡在线| 欧美色综合网站| 国产精品一区二区男女羞羞无遮挡| 91精品在线麻豆| 成人性色生活片免费看爆迷你毛片| 欧美一区日韩一区| 97精品电影院| 国产精品一区不卡| 亚洲视频图片小说| 国产精品传媒在线| 日韩欧美一级二级三级久久久| 亚洲综合激情网| 精品剧情v国产在线观看在线| 午夜日韩在线电影| 国产日韩欧美亚洲| 欧美一级二级三级乱码| 91福利区一区二区三区| 成人国产电影网| 国产在线精品一区二区三区不卡| 精品入口麻豆88视频| 在线免费观看日韩欧美| 99免费精品视频| 丁香激情综合国产| 国产一区二区三区免费| 亚洲线精品一区二区三区八戒| 久久不见久久见免费视频7| 亚洲永久精品国产| 国产精品国产a| 国产欧美日韩三级| 91麻豆精品国产自产在线观看一区| 日本欧美一区二区| 最新国产の精品合集bt伙计| 国产午夜精品理论片a级大结局| 国产在线看一区| 激情成人综合网| 久久99精品久久久久久国产越南| 精品国产乱码久久| 欧美一区三区四区| 欧美不卡一区二区三区四区| 欧美日韩黄色影视| 91视视频在线直接观看在线看网页在线看| 亚洲一区二区四区蜜桃| 欧美精品一区二| 久久久美女毛片| 久久综合九色综合97婷婷| 欧美精品一区在线观看| 国产午夜精品久久| 国产精品乱码一区二区三区软件| 欧美午夜精品久久久久久超碰| 天堂精品中文字幕在线| 亚洲成在线观看| 亚洲午夜久久久久久久久电影网| 久久久久久久久久久电影| 久久精品一级爱片| 亚洲国产成人午夜在线一区 | 国产成人av一区二区三区在线观看| 国产精品理伦片| 国产精品久久久久久久久免费桃花 | 成人福利视频网站| 91亚洲永久精品| 99精品视频一区二区三区| 国产一区二区在线视频| 久久99精品国产麻豆不卡| 国产大陆精品国产|