捕获PWM占空比精度的问题

2019-07-16 06:16发布

各位高手请教下!!
小弟最近想通过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);得出占空比。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
晨曦问
1楼-- · 2019-07-16 06:49
本帖最后由 晨曦问 于 2013-5-24 23:34 编辑

请问51可以捕获吗?,我也特想做一个单片机装置,可以测出来PWM的占空比。请问怎么做?
woshiwuzhiyuxue
2楼-- · 2019-07-16 12:07
晨曦问 发表于 2013-5-24 23:33
请问51可以捕获吗?,我也特想做一个单片机装置,可以测出来PWM的占空比。请问怎么做?

这位大哥,请问你用51的做好了吗?能否让我学习一下,
hujixun
3楼-- · 2019-07-16 14:32
就在收集这些资料,谢谢
平步云天
4楼-- · 2019-07-16 20:32
2楼,请问最后实现没

一周热门 更多>