关于stm32 PWM输入测频率和占空比的问题

2019-07-21 08:01发布

本人是新手最近stm32的通用定时器    st公司提供的例子上   有个地方一直不明白  程序中没看到设置为下降沿捕获的代码   怎么可以测量占空比呢    希望高手能指点指点 
 
TIM_ICInitStructure.TIM_Channel = TIM_Channel_2;                //使用通道2
  TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;     //输入上升沿捕获     
  TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; 
  TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;            //TIM捕获在捕获输入上每探测到一个边沿执行一次
  TIM_ICInitStructure.TIM_ICFilter = 0x0;

  TIM_PWMIConfig(TIM3, &TIM_ICInitStructure);                    //初始化PWM输入模式配置

  /* Select the TIM3 Input Trigger: TI2FP2 */
  TIM_SelectInputTrigger(TIM3, TIM_TS_TI2FP2);

  /* Select the slave Mode: Reset Mode */
  TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);                //选中触发信号(TRGI)的上升沿重初始化计数器并触发寄存器的更新

  /* Enable the Master/Slave Mode */
  TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);   //主从模式使能

  /* TIM enable counter */        
  TIM_Cmd(TIM3, ENABLE);                                        //打开计数器

  /* Enable the CC2 Interrupt Request */
  TIM_ITConfig(TIM3, TIM_IT_CC2, ENABLE);                    //开中断 

  while (1);                                                //等待
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。