Index: ModuleDemo/Timer/Timer_PWM/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/Timer/Timer_PWM/prj/MDK/YC3121_Keil.uvprojx	(revision 845)
+++ /YC3121_demo/ModuleDemo/Timer/Timer_PWM/prj/MDK/YC3121_Keil.uvprojx	(working copy)
@@ -184,6 +184,7 @@
             <hadXRAM>0</hadXRAM>
             <uocXRam>0</uocXRam>
             <RvdsVP>0</RvdsVP>
+            <RvdsMve>0</RvdsMve>
             <hadIRAM2>0</hadIRAM2>
             <hadIROM2>0</hadIROM2>
             <StupSel>8</StupSel>
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;
@@ -110,12 +110,12 @@
     UART_InitTypeDef UART_InitStruct;
 
     /* Configure serial ports 0 RX and TX for IO. */
-    GPIO_Config(GPIOA, GPIO_Pin_1, UART0_TXD);
-    GPIO_Config(GPIOA, GPIO_Pin_0, UART0_RXD);
+    GPIO_Config(UART0_TX_PORT, UART0_TX_PIN, UART0_TXD);
+    GPIO_Config(UART0_RX_PORT, UART0_RX_PIN, 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(UART1_TX_PORT, UART1_TX_PIN, UART1_TXD);
+    GPIO_Config(UART1_RX_PORT, UART1_RX_PIN, 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_ClearTxITPendingBit(UART1);
         MyPrintf("UART1 TX INTERRUPT test successful!\n");
     }
 }
Index: ModuleDemo/UART/UART_RX_RecvData/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/UART/UART_RX_RecvData/prj/MDK/YC3121_Keil.uvprojx	(revision 845)
+++ /YC3121_demo/ModuleDemo/UART/UART_RX_RecvData/prj/MDK/YC3121_Keil.uvprojx	(working copy)
@@ -184,6 +184,7 @@
             <hadXRAM>0</hadXRAM>
             <uocXRam>0</uocXRam>
             <RvdsVP>0</RvdsVP>
+            <RvdsMve>0</RvdsMve>
             <hadIRAM2>0</hadIRAM2>
             <hadIROM2>0</hadIROM2>
             <StupSel>8</StupSel>
Index: ModuleDemo/UART/UART_TX_Sendbuf/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/UART/UART_TX_Sendbuf/prj/MDK/YC3121_Keil.uvprojx	(revision 845)
+++ /YC3121_demo/ModuleDemo/UART/UART_TX_Sendbuf/prj/MDK/YC3121_Keil.uvprojx	(working copy)
@@ -184,6 +184,7 @@
             <hadXRAM>0</hadXRAM>
             <uocXRam>0</uocXRam>
             <RvdsVP>0</RvdsVP>
+            <RvdsMve>0</RvdsMve>
             <hadIRAM2>0</hadIRAM2>
             <hadIROM2>0</hadIROM2>
             <StupSel>8</StupSel>
