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

我只知道初始化的时候通过预分频PSC和ARR初始化一个频率,,之后怎么改??我看函数库有一个SetICnPrescaler的,,可惜是输入分频的,,有没有类似控制输出通道... 我只知道初始化的时候通过预分频PSC和ARR初始化一个频率,,之后怎么改??我看函数库有一个SetICnPrescaler的,,可惜是输入分频的,,有没有类似控制输出通道频率的??
就像用TIM_SetCompare2(TIM3,led0pwmval);可以即时改变占空比一样我想能即时改变频率
展开
 我来答
agdf561
2013-12-05
知道答主
回答量:4
采纳率:0%
帮助的人:2.9万
展开全部
这个实验我刚研究过,我说说,看你可能理解我说的!
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那么输出就是低电平,如果TIM3_CNT>=TIM3_CCR2那么输出就是高电平,所以在这里(//输出极性:TIM输出比较极性高)的意思是TIM3_CNT>=TIM3_CCR2时候的极性为高,明白了不?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式