diff --git a/software/common/retarget/uart_stdout.c b/software/common/retarget/uart_stdout.c
index c356bd0b60e3a35eb46912a328e917865b664e00..7fff7eaaeaa55c2ac6eba2af4e774e946b7c3a6d 100644
--- a/software/common/retarget/uart_stdout.c
+++ b/software/common/retarget/uart_stdout.c
@@ -50,7 +50,7 @@ void UartStdOutInit(void)
   CMSDK_UART2->BAUDDIV = 2080; //(1MHz/9600)
   CMSDK_UART2->CTRL    = 0x01; //TX only, standard UART
   CMSDK_USRT2->BAUDDIV = 2080; //(1MHz/9600)
-  CMSDK_USRT2->CTRL    = 0x01; //TX only, standard UART
+  CMSDK_USRT2->CTRL    = 0x03; //RX+TX, standard UART
   CMSDK_GPIO1->ALTFUNCSET = (1<<5);
   return;
 }
@@ -66,8 +66,8 @@ unsigned char UartPutc(unsigned char my_ch)
 // Get a character
 unsigned char UartGetc(void)
 {
-  while ((CMSDK_UART2->STATE & 2)==0); // Wait if Receive Holding register is empty
-  return (CMSDK_UART2->DATA);
+  while ((CMSDK_USRT2->STATE & 2)==0); // Wait if Receive Holding register is empty
+  return (CMSDK_USRT2->DATA);
 }
 
 void UartEndSimulation(void)