jaky80000 发表于 2013-6-20 09:59:52

STM32 pwm改变频率的问题,求解,谢谢!

我碰到了一个修改PWM频率的问题,采用的是中央对齐的PWM模式2,向上计数方式,在启动pwm后的过程中,改变TIMX->ARR值,就能改变频率,TIMX->CRR1等于ARR的一半,但是总改变不了。
在改变后如果采用立即强制更新事件,则在切换频率时会有几个异常的波形出现,所以就改为需要到更新事件时才改变,即使能预重载寄存器,但是经过测试也出现了问题。我设置的最开始的频率是250hz,也就是4ms为一个周期,TIM->ARR=4000,我设定10ms才改变一次频率,设下一个频率为500hz,按照计算,TIM->ARR=2000,假设我是在TIM->CNT = 3000的时候改变的,那么它会加到4000时产生一个更新事件,就会把TIM->ARR=2000起作用了,但是不起作用啊,不知道为什么,求解

jaky80000 发表于 2013-6-20 10:49:51

按照资料上说的是,如果势能了预寄存器,则在下一次更新时会把预装寄存器的值传入影子寄存器,我的好像没有传,不知道怎么回事呀

hmd420304805 发表于 2013-6-21 18:51:38

也碰到和楼主一样的问题。我是在计数器停止的改变ARR然后打开计数器,然后就发现一直记到65535溢出,第二次才是CNT=3000时溢出中断。而且我发现我和楼主在做同一样的东西。不知道我猜的对不对?希望继续交流

jaky80000 发表于 2013-6-21 23:13:19

hmd420304805 发表于 2013-6-21 18:51 static/image/common/back.gif
也碰到和楼主一样的问题。我是在计数器停止的改变ARR然后打开计数器,然后就发现一直记到65535溢出,第二次 ...

我碰到的情况是工作中不能先停止PWM的,不然的话,肯定可以了,停下后直接强制更新就行了的

jiezi 发表于 2023-7-14 15:08:13

我也碰到了和楼主一样的问题,不知道怎么处理才不会导致波形异常
页: [1]
查看完整版本: STM32 pwm改变频率的问题,求解,谢谢!