各位高手请教下!!
小弟最近想通过stm8s系列
芯片定时器捕获功能捕获PWM方波占空比,发现PWM频率在1k以下时,能捕获到99%的占空比,当PWM频率增加时,捕获到的精度受影响,比如PWM为20KHz时,70%占空比以上的PWM,芯片捕获出来的占空比值不准确,变成了50%左右的值。请问这是什么原因?
相应捕获中断程序如下:
if(
timeCount1==0)
{
//边沿对齐
TIM2->CCER1 |=0x20; //捕获下一个下降沿
TimeCount1=TIM2_GetCapture2();
}
else if(TimeCount2==0)
{
TIM2->CCER1 &=0xDF; //捕获下一个上升沿
TimeCount2=TIM2_GetCapture2();
}
else if(TimeCount3==0) TimeCount3=TIM2_GetCapture2();
通过Duty=(TimeCount2-TimeCount1)/(TimeCount3-TimeCount1);得出占空比。
一周热门 更多>