}
{ }
else TIM5CH2_CAPTURE_STA++;
TIM5CH2_CAPTURE_STA|=0X80;//强制标记成功捕获了一次 TIM5CH2_CAPTURE_VAL=0XFFFF;
}
if (TIM_GetITStatus(TIM5, TIM_IT_CC2) != RESET)//表示捕获1发
生捕获事件
{
{
//标记成功捕获了一次
if(TIM5CH2_CAPTURE_STA&0X40)
//表示捕获到一个下降沿
TIM5CH2_CAPTURE_STA|=0X80;
TIM5CH2_CAPTURE_VAL=TIM_GetCapture2(TIM5); //得到高电
平的值
TIM_OC2PolarityConfig(TIM5,TIM_ICPolarity_Rising);
//CC1P=0 设置为上升沿捕获
} else {
TIM5CH2_CAPTURE_STA=0; TIM5CH2_CAPTURE_VAL=0; TIM_SetCounter(TIM5,0); TIM5CH2_CAPTURE_STA|=0X40;
//标记捕获到了上升沿
//清空
//还未开始,第一次捕获上升沿
TIM_OC2PolarityConfig(TIM5,TIM_ICPolarity_Falling);
//CC1P=1 设置为下降沿捕获
}
21
}
}
TIM_ClearITPendingBit(TIM5, TIM_IT_CC1|TIM_IT_CC2|TIM_IT_Update); //清除中断标志位 }
22