我用STM32F1xxx内部定时器TIMER4对其两个通道进行输入脉冲脉宽测量,采用的是上升沿捕获中断,计算脉宽的思路为用后一次的捕获值减去前一次的捕获值,但现有如下问题不明:STM32F的捕捉方式为当启动TIMER4后,TIM4_CNT开始增加,当发生上升沿中断后TIM4_CNT中的值复制至TIM4_CCR3,TIM4_CNT中的值不会自动清0,问题来了!假如我第一个上升沿捕获值为TIM4_CNT = 0XFFFC,那么第二次上升沿的捕获值就有可能发生溢出,如TIM4_CNT = 0X000A,那么计算脉宽就不可能使用第二次的值去减去第一次的值了!请问这种情况要如何处理,前提是中断后不能人为清掉TIM4_CNT中的值,因为我是两路采集。
|