STM32,,怎么控制输出PWM波的频率??比如我用TIM3的CH1和CH2输出两路PWM,,怎么样独立控制这两路频率?

2025-03-23 09:41:10
推荐回答(1个)
回答(1):

这个实验我刚研究过,我说说,看你可能理解我说的!
TIM_SetCompare2(TIM3,led0pwmval);通过这个函数可以往捕获/ 比较寄存器2(TIM3_CCR2)里面写值,当定时器3更新的时候,把led0pwmval写入到TIM3_CCR2里面,然后定时器就会不停的把TIM3_CNT寄存器的值和TIM3_CCR2寄存器里面的值进行比较,假如你设置的是向上计数模式,并且通过这个函数(TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高)把TIM3的输出/比较极性设置为高的时候,那么此时如果TIM3_CNT=TIM3_CCR2那么输出就是高电平,所以在这里(//输出极性:TIM输出比较极性高)的意思是TIM3_CNT>=TIM3_CCR2时候的极性为高,明白了不?