金牌会员
 
- 积分
- 2795
- 金钱
- 2795
- 注册时间
- 2015-12-30
- 在线时间
- 343 小时
|
1金钱
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)//捕获1发生捕获事件
{
if(TIM2CH1_CAPTURE_STA==1) //捕获到一个下降沿
{
TIM2CH1_CAPTURE_STA=0; //标记成功捕获到一次高电平脉宽
TIM2CH1_CAPTURE_VAL=TIM_GetCapture1(TIM2);//获取当前的捕获值.
TIM_Cmd(TIM2,DISABLE ); //关闭定时器5
TIM_SetCounter(TIM2,0);
TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Rising); //CC1P=1 设置为上升沿捕获
TIM_Cmd(TIM2,ENABLE ); //使能定时器5
}
else //捕获上升沿
{
TIM2CH1_LowCAPTURE_VAL=TIM_GetCapture1(TIM2);//获取当前的捕获值.
TIM2CH1_CAPTURE_STA = 1; //标记捕获到了上升沿
TIM_Cmd(TIM2,DISABLE ); //关闭定时器5
TIM_SetCounter(TIM2,0);
TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Falling); //CC1P=1 设置为下降沿捕获
TIM_Cmd(TIM2,ENABLE ); //使能定时器5
}
}
TIM_ClearITPendingBit(TIM2, TIM_IT_CC1|TIM_IT_Update); //清除中断标志位
}
TIM2CH1_LowCAPTURE_VAL获取一直是0,
TIM2CH1_CAPTURE_VA可以正常获取,
不知道为何,大神们提提意见,谢谢
|
|