Index: sdk/yc_uart.h
===================================================================
--- /YC3121_SDK/fw/sdk/yc_uart.h	(revision 845)
+++ /YC3121_SDK/fw/sdk/yc_uart.h	(working copy)
@@ -148,9 +148,12 @@
   * @param  USARTx: Select the USART or the UART peripheral.
   *         This parameter can be one of the following values:
   *         UART0, UART1.
+  *         UART_IT: Interrupt trigger mode ,this param will the following values,
+  *         UART_IT_TX:interrupt trigger after send data completed.
+  *         UART_IT_RX:interrupt trigger when received data.
   * @retval None
   */
-void UART_ClearIT(UART_TypeDef UARTx);
+void UART_ClearIT(UART_TypeDef UARTx,  uint32_t UART_IT);
 
 /**
   * @brief  DeInit UART
Index: sdk/yc_uart.c
===================================================================
--- /YC3121_SDK/fw/sdk/yc_uart.c	(revision 845)
+++ /YC3121_SDK/fw/sdk/yc_uart.c	(working copy)
@@ -54,10 +54,13 @@
     return;
 }
 
-void UART_ClearIT(UART_TypeDef UARTx)
+void UART_ClearIT(UART_TypeDef UARTx,  uint32_t UART_IT)
 {
-    uint8_t ITType = UART_GetITIdentity(UARTx);
-    UART_ITConfig(UARTx, ITType, DISABLE);
+    _ASSERT(IS_UART(UARTx));
+    _ASSERT(IS_UART_IT(UART_IT));
+    
+    UART_ITConfig(UARTx, UART_IT, DISABLE);
+    UART_ITConfig(UARTx, UART_IT, ENABLE);
 }
 
 void UART_DeInit(UART_TypeDef  UARTx)
