stm8 的tim2 ch3通道 PA口,进行捕捉,无法进入中断?求解答?

tim2 ch3通道 初始化

void TIMER2_Catch_Init(void)
{
TIM2_CNTRH = 0x00;//清零计数器高8位
TIM2_CNTRL = 0x00;//清零计数器低8位

TIM2_PSCR = 0x10;//计数器时钟分频低8位16分频

TIM2_CCER2_CC3E=0;//关闭捕获功能
TIM2_CCMR3 =0x01;//滤波为0,分频为0,直接接到端口上

TIM2_CCER2_CC3P=1;//上升沿时发生捕获
TIM2_IER_CC3IE=1;//开启捕获中断

TIM2_CCER2_CC3E=1;//使能捕获功能
TIM2_CR1_CEN=1;//开启计数
}

中断函数:
u16 vsync_cap_data_old,vsync_cap_data_new,vsync_period;
u8 isCaptureOver;

#pragma vector=0x10
__interrupt void TIM2_CAP_COM_IRQHandler(void)
{
if(TIM2_SR1_CC3IF)
{
TIM2_SR1_CC3IF = 0;//清除中断标志位

if(vsync_cap_data_old == 0x00)

{//第一次捕获中断来临

vsync_cap_data_old = TIM2_CCR3H;//先读取高8位数据

vsync_cap_data_old = (unsigned int)(vsync_cap_data_old<<8) + TIM2_CCR3L;//再读取低8位数据

}

else

{

//第二次捕获中断来临

vsync_cap_data_new = TIM2_CCR3H;//先读取高8位数据

vsync_cap_data_new = (unsigned int)(vsync_cap_data_new<<8) + TIM2_CCR3L;//再读取低8位数据

TIM2_IER_CC3IE=0;//关闭捕获中断
TIM2_CR1_CEN=0;//关闭计数
if(vsync_cap_data_new > vsync_cap_data_old)

vsync_period = (vsync_cap_data_new - vsync_cap_data_old);

else

vsync_period = 0xFFFF + vsync_cap_data_new - vsync_cap_data_old;

vsync_cap_data_old = 0x00;

 isCaptureOver = 1;     
}  

}

}

主函数:

   if(isCaptureOver == 1)   
   {        //如果捕获完成则对数据进行处理                     
    TIM2_CNTRH = 0x00;//清零计数器高8位      
    TIM2_CNTRL = 0x00;//清零计数器低8位  

    TIM2_IER_CC3IE=1;//开启捕获中断
    TIM2_CR1_CEN=1;//开启计数
     UART1_Send_nBit(vsync_period);    
    isCaptureOver =0;       
    }

PA对应管脚要配置成定时器输入