Index: ModuleDemo/UART/UART_Interrupt/user/main.c
===================================================================
--- /YC3121_demo/ModuleDemo/UART/UART_Interrupt/user/main.c	(revision 845)
+++ /YC3121_demo/ModuleDemo/UART/UART_Interrupt/user/main.c	(working copy)
@@ -68,7 +68,7 @@
             {
                 MyPrintf("TEST UART1 RX INTERRUPT!\n");
                 UART_ITConfig(UART1, UART_IT_RX, ENABLE);
-                UART_SetRxITNum(UART1, 10);
+                UART_SetRxITNum(UART1, 1);
                 UART_SetITTimeout(UART1, 0xff);
                 UART_SendBuf(UART1, p,sizeof(p));
                 break;
@@ -114,8 +114,8 @@
     GPIO_Config(GPIOA, GPIO_Pin_0, UART0_RXD);
 
     /* Configure serial ports 1 RX and TX for IO. */
-    GPIO_Config(GPIOC, GPIO_Pin_7, UART1_TXD);
-    GPIO_Config(GPIOC, GPIO_Pin_8, UART1_RXD);
+    GPIO_Config(GPIOA, GPIO_Pin_5, UART1_TXD);
+    GPIO_Config(GPIOA, GPIO_Pin_10, UART1_RXD);
 
     /* USARTx configured as follow:
     - BaudRate = 115200 baud
@@ -173,17 +173,14 @@
 {
     if (UART_GetITIdentity(UART1) == UART_IT_RX)
     {
-        UART_ClearIT(UART1);
-        MyPrintf("UART1 RX data:\n");
-        while(UART_IsRXFIFONotEmpty(UART1))
-        {
-            MyPrintf("%c",UART_ReceiveData(UART1));
-        }
+        // Rx interrupt don't need clear, Automatic Hardware Clearing.
+        MyPrintf("%c",UART_ReceiveData(UART1));
+
         MyPrintf("\nUART1 RX INTERRUPT test successful!\n");
     }
     else if (UART_GetITIdentity(UART1) == UART_IT_TX)
     {
-        UART_ClearIT(UART1);
+        UART_ClearIT(UART1, UART_IT_TX);
         MyPrintf("UART1 TX INTERRUPT test successful!\n");
     }
 }
