关于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);                                                //等待
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
awsawzj
1楼-- · 2019-07-21 13:22
可以这样理解吧,你设置主从模式后,有一个就工作在捕获下降沿
Scy
2楼-- · 2019-07-21 16:31
 精彩回答 2  元偷偷看……
ty
3楼-- · 2019-07-21 16:57
回复【2楼】Scy:
测脉宽应该是下降沿捕获    但是程序中看不到相应的步骤啊

awsawzj
4楼-- · 2019-07-21 20:21
回复【3楼】ty:
---------------------------------
测脉宽需要捕获上升沿和下降沿,检测到下降沿他也会存储计数值
ty
5楼-- · 2019-07-22 01:57
回复【4楼】awsawzj:
---------------------------------
我的意思是程序中我怎么看不到使   TIMX CCR2设置为下降沿捕获的代码   难道是默认配置
ty
6楼-- · 2019-07-22 04:13
回复【6楼】awsawzj:
-------------------------------哦哦

一周热门 更多>