中级会员
 
- 积分
- 224
- 金钱
- 224
- 注册时间
- 2015-9-5
- 在线时间
- 48 小时
|
请问 TIM_SetCompare2改变占空比不是改变参数TIM_Pulse么?
请问TIM_Pulse是不是设置改变占空比的比较值的啊?在网上看到:
TIM_Pulse之前提到的定时器暂停。我更喜欢称他为定时器跳变,当计数器CNT中的值小于它的值时,输出为有效电平,即为之前配置的高电平,当达到跳变值时输出跳变(下跳)。它与TIM_Period共同决定了PWM波的占空比。占空比=( TIM_Pulse/ ( TIM_Period + 1 ) ) *100%。比如我要产生一个50%的=PWM,只需要将TIM_Period设置成999,TIM_Pulse设置成500即可。在前半个周期计数器值达不到TIM_Pulse,故一直输出高电平,当达到TIM_Pulse时刻输出值下跳为低电平,然后再次计数半个周期。当这个周期走完时,ARR恰好溢出(其内装入的值为TIM_Period ),然后计数器清零,再次计数,重复上述过程,即产生了PWM波。
既然这样为什么原子的代码里设置为0呢?TIM_SetCompare2()函数是怎么工作的啊?
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = 0;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC2Init(TIM1, &TIM_OCInitStructure);
|
|