diff --git a/software/common/retarget/uart_stdout.c b/software/common/retarget/uart_stdout.c index 17257a043e03530f3cbebdd3daf6bf23eeaa80c4..c7145f8e929887069ba30589a15c6db235febc74 100644 --- a/software/common/retarget/uart_stdout.c +++ b/software/common/retarget/uart_stdout.c @@ -94,13 +94,9 @@ unsigned char UartPutc(unsigned char my_ch) // Get a character unsigned char UartGetc(void) { - if ((CMSDK_USRT2->CTRL & 1)==0) { - while ((CMSDK_UART2->STATE & 2)==0); - return (CMSDK_UART2->DATA); - } else { - while ((CMSDK_USRT2->STATE & 2)==0); - return (CMSDK_USRT2->DATA); - } + while (((CMSDK_UART2->STATE & 2)==0) & ((CMSDK_USRT2->STATE & 2)==0)); + if ((CMSDK_UART2->STATE & 2)==2) return (CMSDK_UART2->DATA); + if ((CMSDK_USRT2->STATE & 2)==2) return (CMSDK_USRT2->DATA); } void UartEndSimulation(void)