打印
[技术问答]

紧急求助一下,华大PWM动态调节出现占空比丢失现象

[复制链接]
957|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PWM, AD, ADT, tc
华大PWM动态调节出现占空比丢失现象(静态没问题),芯片005,使用TIM5定时器,void App_constant_power(uint16_t u16CHB_PWMDuty)
{
    en_adt_compare_t          enAdtCompareB;

    stc_adt_basecnt_cfg_t     stcAdtBaseCntCfg;
    stc_adt_CHxX_port_cfg_t   stcAdtTIM5BCfg;

    DDL_ZERO_STRUCT(stcAdtBaseCntCfg);
    DDL_ZERO_STRUCT(stcAdtTIM5BCfg);

    stcAdtBaseCntCfg.enCntMode = AdtSawtoothMode;                      //锯齿波模式
    stcAdtBaseCntCfg.enCntDir = AdtCntDown;                            //递减计数
    stcAdtBaseCntCfg.enCntClkDiv = AdtClkPClk0;                        //不分频

    Adt_Init(M0P_ADTIM5, &stcAdtBaseCntCfg);                           //ADT载波、计数模式、时钟配置
    Adt_SetPeriod(M0P_ADTIM5, 0x5DC0);                                 //周期设置
    enAdtCompareB = AdtCompareB;
    Adt_SetCompareValue(M0P_ADTIM5, enAdtCompareB, u16CHB_PWMDuty);    //通用比较基准值寄存器B设置
    stcAdtTIM5BCfg.enCap = AdtCHxCompareOutput;                        //比较输出
    stcAdtTIM5BCfg.bOutEn = TRUE;                                      //CHB输出使能
    stcAdtTIM5BCfg.enPerc = AdtCHxPeriodLow;                           //计数值与周期匹配时CHB电平保持不变
    stcAdtTIM5BCfg.enCmpc = AdtCHxCompareHigh;                         //计数值与比较值B匹配时,CHB电平翻转
    stcAdtTIM5BCfg.enStaStp = AdtCHxStateSelSS;                        //CHB起始结束电平由STACB与STPCB控制
    stcAdtTIM5BCfg.enStaOut = AdtCHxPortOutLow;                        //CHB起始电平为低
    stcAdtTIM5BCfg.enStpOut = AdtCHxPortOutLow;                        //CHB结束电平为低
    Adt_CHxXPortCfg(M0P_ADTIM5, AdtCHxB, &stcAdtTIM5BCfg);             //端口CHB配置
   Adt_StartCount(M0P_ADTIM5);                                        //AdvTimer5运行
               
}





使用特权

评论回复
沙发
icanfly1016()| | 2020-5-9 16:46 | 只看该作者
HC32F003也遇到了类似情况

使用特权

评论回复
板凳
cltongkn| | 2020-5-10 08:31 | 只看该作者
占空比调整范围是多少?

使用特权

评论回复
地板
自己和自己玩|  楼主 | 2020-5-10 10:52 | 只看该作者
统一回复,已经解决,需要加入缓存即可

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

82

帖子

0

粉丝