mutable 发表于 2022-1-8 12:54

PWM的占空比实时调整

一直都是固定脉宽了
如何做实时调整,调整的范围在多少为宜

fanchenxinok 发表于 2022-1-14 17:08

我用的AC7801FCLA我是这样调整我的pwm占空比,可以参考:
void UTILS_PwmDutySet(PWM_Type *pPwmInst, PWM_ChannelType pwmCh, uint32_t freq, uint16_t dutyRatio)
{
        dutyRatio = (dutyRatio >= 100) ? 100 : dutyRatio;
        uint16_t pres = 0;
        pres = (freq < 1000) ? 10 : 0;
        pres = (freq < 100) ? 100 : 0;
        pres = (freq < 10) ? 1000 : 0;
        uint16_t pwm_value = MOD_PWM(freq, pres) * dutyRatio / 100;
        PWM_SetChannelCountValue(pPwmInst, pwmCh, pwm_value);
        //printf("PWM Channel %d set duty ratio: %d\r\n", pwmCh, dutyRatio);
}

huquanz711 发表于 2022-1-15 09:19

实时更新计数器值

tpgf 发表于 2022-2-3 16:01

实时调整会不会变乱啊

keaibukelian 发表于 2022-2-3 16:11

一般是什么时候生效呢

labasi 发表于 2022-2-3 16:20

在新旧交替是什么状态呢

paotangsan 发表于 2022-2-3 16:28

是在下一个时钟周期还是机器周期呢

renzheshengui 发表于 2022-2-3 16:38

需要有一个提前量吧

wakayi 发表于 2022-2-3 16:45

不可能是真正的实时

ynndmalh21 发表于 2022-2-9 12:09

这个可以产生1ns的脉宽吗?

koala889 发表于 2022-2-9 14:10

tpgf 发表于 2022-2-3 16:01
实时调整会不会变乱啊

不会,如果不能调整,那不就是固定方波了么
页: [1]
查看完整版本: PWM的占空比实时调整