原子哥,我在做定时器捕获的时候想实现一个脉冲宽度测量写了如下代码
void
tiM2_IRQHandler(void)
{
if(a++)
{
a = 1;
IC2Value1 = TIM2->CCR1;//读取CCR1也可以清CC1IF标志位
TIM2->CCER|=1<<1;
printf("IC2Value1 = %drn",IC2Value1);
}
if(a)
{
a=0;
IC2Value2 = TIM2->CCR1;//读取CCR1也可以清CC1IF标志位
TIM2->CCER|=0<<1;
printf("IC2Value2 = %drn",IC2Value2);
}
TIM2->SR&=~(1<<1);//清除中断标志位
}
但是实际测得IC2Value1,IC2Value2输出的值是一样的??????