主题中讨论的其他器件:UCD3138
工具/软件:TI C/C++编译器
我想更改引脚 DPWM0A 中的占空比、请帮助我执行此操作。 此外、无法在引脚 DPWM0A 和 DPWM1A 之间实现死区时间。 我在下面介绍了我的程序、请帮助我在 引脚 DPWM0A 中实现40%占空比、现在显示为50%。
void init_dpwm0 (void)
{
Dpwm0Regs.DPWMCTRL0.bit.PWM_EN = 0;//针对初始化在本地禁用
Dpwm0Regs.DPWMCTRL0.bit.CLA_EN = 1;//默认为1 -使用 CLA
Dpwm0Regs.DPWMCTRL0.bit.PWM_MODE = 0;//正常模式
Dpwm0Regs.DPWMPRD.All = Period;//Use .all 对于所有值、确保缩放匹配。
Dpwm0Regs.DPWMEV1.all =周期/2;//在周期开始时置位事件1
Dpwm0Regs.DPWMEV2.all =(周期* 3)/4;/1/4周期-除法是可以的、因为它都是常数。
Dpwm0Regs.DPWMEV3.ALL = 0;//1/2个周期
Dpwm0Regs.DPWMEV4.ALL =周期/4;//3/4周期
Dpwm0Regs.DPWMSAMPTRIG1.ALL =周期;//3/4周期
Dpwm0Regs.DPWMCTRL2.bit.sample_trig_1_EN = 1;//启用1个采样触发器
Dpwm0Regs.DPWMCTRL1.bit.EVENT_UP_SEL = 1;//在周期结束时更新
Dpwm0Regs.DPWMCTRL0.bit.PWM_EN = 1;//本地启用
Dpwm0Regs.DPWMCTRL2.bit.reson_d死 区时间_COMP_EN = 1;
//Dpwm0Regs.DPWMPHASETRIG.bit.PHASE_TRIGGER = 2;//8nsec 相位延迟
}
void init_dpwm1 (void)
{
Dpwm1Regs.DPWMCTRL0.bit.PWM_EN = 0;//针对初始化在本地禁用
Dpwm1Regs.DPWMCTRL0.bit.CLA_EN = 1;//默认为1 -使用 CLA
Dpwm1Regs.DPWMCTRL0.bit.PWM_MODE = 0;//正常模式
Dpwm1Regs.DPWMPRD.All = Period;//Use .all 对于所有值、请确保缩放匹配。
Dpwm1Regs.DPWMEV1.ALL = 0;//在周期开始时置位事件1
Dpwm1Regs.DPWMEV2.all =周期/4;//1/4周期-除法是可以的、因为它是所有的常数。
Dpwm1Regs.DPWMEV3.all =(周期)/2;/1/2周期
Dpwm1Regs.DPWMEV4.ALL =(周期* 3)/4;//3/4周期
Dpwm1Regs.DPWMSAMPTRIG1.ALL =周期;//3/4周期
Dpwm1Regs.DPWMCTRL2.bit.sample_trig_1_EN = 1;//启用1个采样触发器
Dpwm1Regs.DPWMCTRL1.bit.EVENT_UP_SEL = 1;//在周期结束时更新
Dpwm1Regs.DPWMCTRL0.bit.PWM_EN = 1;//本地启用
Dpwm1Regs.DPWMCTRL2.bit.reson_d死 区时间_COMP_EN = 1;
//Dpwm1Regs.DPWMPHASETRIG.bit.PHASE_TRIGGER = 2;//8nsec 相位延迟
}