DSO Quad serial port access

Hello guys,
have any of you succeed with bidirectional communication with UART? From the code snipped above it seems that you mainly use the uart for sending debugging messages out of the box. But I would like to receive some commands from PC and don’t know how to initialize the UART correctly.

Here is a code I have found somewhere, I tried to enable the interrupt on receive (bold font), but the intterupt function (USART1_IRQHandler) was never executed. To check this code I am sending periodically a text message to the uart port with the RX&TX pins connected together. I am able to see the transmission when I connect the oscilloscope probe to the TX pin, thus I think the problem is in uart control register being not set correctly.

/*static*/ void BIOS::SERIAL::Init()
{
  // Enable USART1:
  RCC->APB2ENR |= RCC_APB2ENR_USART1EN;
  // Set the baud rate:
  USART1->BRR = CPU_CLK / BAUD_RATE;
  // Enable the USART for both transmission and reception:
  USART1->CR1 = USART_CR1_UE | USART_CR1_TE | USART_CR1_RE | [b]USART_CR1_RXNEIE[/b];

[b]	// clear interrupt flag?
	USART1->SR &= ~USART_IT_RXNE;
[/b]
  // I guess these might mean enable pull up for RX and set TX as hard-driven output
  // AFOUT_10 probably mean b10, i.e. function 2, which is AF output, push-pull
  //gpio_usart1_tx_mode(GPIO_AFOUT_10);
  //gpio_usart1_rx_mode(GPIO_HIGHZ_INPUT);

  // TX is pin 9 on port A (PA 9)
  // RX is pin 10 on port A (PA 10)
  // Mask out any current values for the MODE and CNF values for pins 9 and 10
  GPIOA->CRH = (GPIOA->CRH & ~(GPIO_CRH_MODE9 | GPIO_CRH_CNF9 | GPIO_CRH_MODE10 | GPIO_CRH_CNF10)) |
              (GPIO_MODE_OUTPUT_MAX_2MHZ << PIN9_MODE_POS) |
              (GPIO_CNF_AF_PUSH_PULL << PIN9_CNF_POS) |
              (GPIO_MODE_INPUT << PIN10_MODE_POS) |
              (GPIO_CNF_PULL_UP_OR_DOWN << PIN10_CNF_POS)
              ;
  // Enable the pull-up for PA 10 (RX):
  GPIOA->BSRR = GPIO_BSRR_BS10;
  Send("DS203 Boot...");
}