当前位置:   article > 正文

正点原子STM32F4的PWM程序设置时钟、周期频率问题的一点疑惑稍微瞎解释也许就自己勉强看懂。。。(改成了舵机控制程序)_tim14_pwm_init(2000-1,84-1);什么意思

tim14_pwm_init(2000-1,84-1);什么意思

;/*20ms和2.5ms之所以此处有刚好X整数倍关系,,不一定是us和ms的整数转换倍数关系的原因是
    因为TIM14_PWM_Init(20000-1,84-1)中输入时钟频率84MHz和分频系数(84-1+1)除后为一个10KHz正是因为这个10KHz导致了定时器计数加一所耗费的时间为(1/10K)秒,,然后ARR中的值可以理解为多少个定时器加一的时间,如此这般相乘便是PWM的一个周期的时间也即为定时器溢出一次的时间,,,至于占空比设置所用的函数TIM_SetCompare1进入函数实现可以知道

void TIM_SetCompare1(TIM_TypeDef* TIMx, uint32_t Compare1)
{
// Check the parameters
  assert_param(IS_TIM_LIST1_PERIPH(TIMx));

// Set the Capture Compare1 Register value 
  TIMx->CCR1 = Compare1;
}

它是把他的参数传给TIMx->CCR1 寄存器,由正点原子书上的PWM原理示意图可以知道CCRx决定占空比,,个人把这里理解为和ARR为类比的一个级别的类似值,,也就是把CCRx的值拿去乘定时器计数加一所耗费的时间为(1/10K)秒,,所以如此便决定了PWM的转折点

 

*/

程序如下

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include

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

闽ICP备14008679号