STM32 输入捕获的脉冲宽度及频率计算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32 输入捕获的脉冲宽度及频率计算相关的知识,希望对你有一定的参考价值。
1 TIM8_Cap_Init(0XFFFF,72-1); //以1Mhz的频率计数 2 voidTIM8_CC_IRQHandler(void) 3 { 4 if(TIM_GetITStatus(TIM8,TIM_IT_CC4)!=RESET) 5 { 6 TIM_ClearITPendingBit(TIM8, TIM_IT_CC4); //清除中断标志位 7 if(state==0) //捕获第一个上升沿 8 { 9 state=1; 10 timecount=TIM_GetCapture4(TIM8); //记录第一次上升沿的CNT值 11 } 12 else if(state==1) //捕获第二个上升沿 13 { 14 state=0; 15 timecount1=TIM_GetCapture4(TIM8); //记录第二次上升沿的CNT值 16 if(timecount//两次上升沿的差值 17 } 18 else if(timecount>timecount1) 19 { 20 test=(0xffff-timecount)+timecount1; //两次上升沿的差值 21 } 22 else 23 test=0; 24 fq=1000000/test; //脉冲的频率 25 } 26 }
以上是关于STM32 输入捕获的脉冲宽度及频率计算的主要内容,如果未能解决你的问题,请参考以下文章