怎样使用STM32准确的产生任意个数的脉冲信号
1个回答
展开全部
STM32定时器的单脉冲输出功能,其实是定时器输出比较功能的一个特殊应用。即让定时器在某个事件触发后的一段时间产生指定脉宽的单脉冲信号。
计数器的启动通常可由从模式控制器控制,可由比较输出模式或PWM输出模式来产生波形。通过置位OPM@TIMx_CR1来在下一个更新事件时关闭计数器来实现单脉冲输出。
STM32定时器里有个重复计数器TIMx_RCR,当它的值是个非0值N时,计数器不再每次溢出【上溢或下溢】时都产生更新事件,而是当发生第N+1次溢出时才产生更新事件。如果RCR=0的话,就是每次溢出都产生更新事件。
那么,当把单脉冲输出模式与RCR寄存器配合使用时,就不难生成指定数目的脉冲个数。此时脉冲个数为TIMx_RCR的值加1。
在上面原理的基础上,通过使用STM32定时器的主从模式还可以方便地实现周期性地输出指定数目的脉冲。
假如按上图所示,TIM2与TIM1主从连接,实现周期性的输出5个脉冲。
TIM2 配置为主 触发模式,触发TIM1的计数;
TIMER1 配置为从 单脉冲输出模式;TIM1_RCR=4;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询