/* Transmit two 4-9 bit frames, or one 10-16 bit frame with extended control. 
Notice that possible parity/stop bits in asynchronous mode are not considered part of specified frame bit length. */
void USART_TxDoubleExt(USART_TypeDef *usart, uint32_t data)
/* Transmit two 4-9 bit frames, or one 10-16 bit frame with extended control. 
Notice that possible parity/stop bits in asynchronous mode are not considered part of specified frame bit length. */
void USART_TxDoubleExt(USART_TypeDef *usart, uint32_t data)
{
  while (!(usart->STATUS & USART_STATUS_TXBL))
    ;
  usart->TXDOUBLEX = data;
}