不能进入UART中断处理函数



我的处理器是LM3S9B92,我想利用UART的IrDA功能,让NEC编码的红外遥控器发送红外信号后,在主板上利用HS0038B红外接收器接收到红外信号后传送到MCU,HS0038B与MCU的PB0管脚相连。主要是利用PB0管脚的复用功能U1RX,以下是我的初始化及中断处理函数。现在的问题是我无法进入中断处理函数,中断处理函数已在启动文件中注册,哪位大虾指导下是怎么回事,小弟不甚感激。

这是初始化函数

void
InitInfraredRemoteControl(void)
{
     
 
   //
   // Enable GPIO port B which is used for UART1 pins.
    //
    SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

 
    //
    // Select the alternate (UART) function for these pins.
    // TODO: change this to select the port/pin you are using.
    //
    GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_0);

 //
 // 禁止UART1
 //
 UARTDisable(UART1_BASE);

 //
 // 配置UART1为IrDA模式
 //
 HWREG(UART1_BASE + UART_O_CTL) |= UART_CTL_SIREN;

     //
   // Configure the UART1 for 115,200, 8-N-1 operation.
    // This function uses SysCtlClockGet() to get the system clock
    // frequency.  This could be also be a variable or hard coded value
    // instead of a function call.
    //
    UARTConfigSetExpClk(UART1_BASE, SysCtlClockGet(), 115200,
                        (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
                         UART_CONFIG_PAR_NONE));
    
 
UARTIntDisable(UART1_BASE,UART_INT_TX);

 //
 //  设置UART1接收中断及接收超时中断
 //
  UARTIntEnable(UART1_BASE,UART_INT_RX | UART_INT_RT);

 //
 // IFLS中断级别选择
 //
 HWREG(UART1_BASE + 0X34) = (0X01 << 3);

 //
 // 使能UART1
 //
 UARTEnable(UART1_BASE);

 //
 // 使能UART1中断
 //
 IntEnable(INT_UART1);

 //
 // 开总中断
 //
 IntMasterEnable();

}

下面是我的中断处理函数

void
UART1RxIntHandler(void)
{
 unsigned long ulStatus;
 
 //
 // 获得中断状态
 //
 ulStatus = HWREG(UART1_BASE + 0x40);

 //
 // 清除等待响应的中断
 //
 UARTIntClear(UART1_BASE,ulStatus);

 //
 // 检查是都有未响应的传输中断
 //
 if(ulStatus & (UART_INT_RX | UART_INT_RT))
 {
  while(UARTCharsAvail(UART1_BASE))
  {
   UARTprintf("接收到红外遥控器的数据是:0x%x\n",UARTCharNonBlockingGet(UART1_BASE));
  }
 }
   UARTprintf("进入红外数据接收处理函数了\n");
}