STM8S TIM2 输入捕捉功能

2019-07-19 20:46发布

使用STM8S103 TIM2 输入捕捉功能时发现 捕捉的数值不对

TIM2初始化
void Init_Timer2(void)
{
TIM2_TimeBaseInit(TIM2_PRESCALER_16, 0xFFFF);
TIM2_ICInit(TIM2_CHANNEL_2, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV1, 0x01);

TIM2_ARRPreloadConfig(ENABLE);

TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);
TIM2_ITConfig(TIM2_IT_CC2, ENABLE);

TIM2_Cmd(ENABLE);

}
中断程序
INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14)
{
   GPIO_WriteReverse(GPIOC, GPIO_PIN_3);

   TIM2_SetCounter(0x0000);
   
   buf0_l = TIM2_GetCapture2();
   
   TIM2_ClearFlag(TIM2_FLAG_CC2);
   
   TIM2_ClearITPendingBit(TIM2_IT_CC2);
}
TMR时钟1us,上升沿捕捉,上升沿之间4ms。  可以正常进入捕捉中断(4ms)但buf0_l里面值一直不对,值在0XF37C左右。请教做过的兄弟看看问题在什么地方。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。