找回密码
 立即注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖回复
打印 上一主题 下一主题
开启左侧

我用 483 EPWM0 驱动5个电机 为什么改变 4通道PWM频率,会影...

[复制链接]
11#
匿名  发表于 2023-11-6 15:08:30
while(1)
{                 
EPWM_ConfigOutputChannel(EPWM0, 5, 10000, 50);       
                         i++;
                    if(i ++ > 10000)    i = 0;
                       EPWM_ConfigOutputChannel(EPWM0, 4, i, 50);
}

还是会相互影响 4和5通道
实时改变4通道,5通道会有影响
回复 支持 反对

使用道具

12#
匿名  发表于 2023-11-6 15:09:03
我是示波器看的波形
回复 支持 反对

使用道具

13#
chrishu 发表于 2023-11-8 14:10:15 | 只看该作者
ewfty 发表于 2023-11-3 11:36
比如设置4通道的 u32NewDutyCycle   会影响5通道    比如设置5通道的 u32NewDutyCycle   会影响4通道    分 ...

每两个通道公用一个预分频器,每个通道有独立的计数器和比较器。EPWM_ConfigOutputChannel函数除了会修改周期值(计数器),比较值(比较器),也会修改预分频值。所以调用此函数改变一个通道的频率时,会将预分频器的值改掉,导致另外一个通道的频率也被改变了。
可以自己写一个函数再不改变预分频值的情况下改变另一个通道的频率。
也可以将频率不相同的两个PWM不要放在同一组。


回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU