打印
[STM32F1]

TIM测量占空比

[复制链接]
1074|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flashtt|  楼主 | 2014-12-5 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是TI官方的PWM Input例程,测量TIM3 Channel2输入的频率和占空比,配置了TIM3 Channel2为输入捕获模式,开了主从模式,上升沿开始计数,测频率的部分看懂了,测占空比的部分没看懂
void TIM3_IRQHandler(void)
{
  /* Clear TIM3 Capture compare interrupt pending bit */
  TIM_ClearITPendingBit(TIM3, TIM_IT_CC2);

  /* Get the Input Capture value */
  IC2Value = TIM_GetCapture2(TIM3);

  if (IC2Value != 0)
  {
    /* Duty cycle computation */
    DutyCycle = (TIM_GetCapture1(TIM3) * 100) / IC2Value;

    /* Frequency computation */
    Frequency = SystemCoreClock / IC2Value;
  }
  else
  {
    DutyCycle = 0;
    Frequency = 0;
  }
}
求大神们解释一下占空比是怎么得到的,TIM_GetCapture1(TIM3)得到的值和TIM_GetCapture2(TIM3)有什么关系,谢谢
沙发
mmuuss586| | 2014-12-5 12:27 | 只看该作者
TIM_GetCapture1(TIM3):是脉宽的计数值;
TIM_GetCapture2(TIM3):是一个周期的计数值;
内部有2个计数器;

除下来后就是占空比;

使用特权

评论回复
板凳
flashtt|  楼主 | 2014-12-5 18:40 | 只看该作者
为什么TIM_GetCapture1(TIM3)得到的是脉宽的计数值,我明明没有配置通道1,只配置了通道2捕获,通道1和通道2的值怎么就是占空比的关系呢

使用特权

评论回复
地板
airwill| | 2014-12-5 19:44 | 只看该作者
那你最好翻一翻编程参考手册. RM0008 那个.
简单的说吧, 使用 TIM测量占空比, 就是设置成两个通道进行捕捉的, 而第二路捕捉的通道1 的输入信号. 欲知详情, 请仔细看手册吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

23

帖子

0

粉丝