/* Initializes the USARTx peripheral Clock according to the specified parameters in the USART_ClockInitStruct .  */
void USART_ClockInit(USART_Module *USARTx, USART_ClockInitType *USART_ClockInitStruct)
/* Initializes the USARTx peripheral Clock according to the specified parameters in the USART_ClockInitStruct .  */
void USART_ClockInit(USART_Module *USARTx, USART_ClockInitType *USART_ClockInitStruct)
{
    uint32_t tmpregister = 0x00;
    assert_param(IS_USART_123_PERIPH(USARTx));
    assert_param(IS_USART_CLOCK(USART_ClockInitStruct->Clock));
    assert_param(IS_USART_CPOL(USART_ClockInitStruct->Polarity));
    assert_param(IS_USART_CPHA(USART_ClockInitStruct->Phase));
    assert_param(IS_USART_LASTBIT(USART_ClockInitStruct->LastBit));
    tmpregister = USARTx->CTRL2;
    tmpregister &= CTRL2_CLOCK_CLR_MASK;
    tmpregister |= (uint32_t)USART_ClockInitStruct->Clock | USART_ClockInitStruct->Polarity
                   | USART_ClockInitStruct->Phase | USART_ClockInitStruct->LastBit;
    USARTx->CTRL2 = (uint16_t)tmpregister;
}