本人是新手最近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); //等待
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
测脉宽需要捕获上升沿和下降沿,检测到下降沿他也会存储计数值
一周热门 更多>