当前位置:   article > 正文

对 TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)函数在PWM应用中的理解

tim_setcompare1

注意:以下为本人理解,并非权威,仅做参考,虚心接受指正。

首先看原函数如下:

  1. void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)
  2. {
  3. /* Check the parameters */
  4. assert_param(IS_TIM_LIST8_PERIPH(TIMx));
  5. /* Set the Capture Compare1 Register value */
  6. TIMx->CCR1 = Compare1;
  7. }

该函数第一个参数是定时器名称,不多说,主要讲第二个参数。

从函数里面可以看到,第二个参数是赋值给了TIMx->CCR1这个捕获比较寄存器。由于在PWM模式下,计数值TIMx_CNT和TIMx_CCRx始终在进行比较,且当计数值TIMx_CNT<TIMx_CCRx时,PWM信号为高电平,在定时器向上计数模式下即可理解成第二个参数Compare1为PWM高电平的持续时间。

例如:当Compare1 = 100时,TIMx_CCRx = Compare1 = 100,计数器计数值TIMx_CNT从0计数的99期间,TIMx_CNT<TIMx_CCRx,所以PWM一直为高电平,即PWM高电平时间为100。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/285245
推荐阅读
相关标签
  

闽ICP备14008679号