工具/软件:TI C/C++编译器
您能否告诉我四个 PWM 的后续初始化是否正常。
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 =(周期* 3)/5;//在周期开始时置入事件1
Dpwm0Regs.DPWMEV2.all =周期;//1/4周期-除法是可以的、因为它是所有的常数。
Dpwm0Regs.DPWMEV3.ALL =(周期)/5;/1/2周期
Dpwm0Regs.DPWMEV4.ALL =周期/2;//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;
}
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 =(周期*3)/5;//在周期开始时置入事件1
Dpwm1Regs.DPWMEV2.all =周期;//1/4周期-除法是可以的、因为它是所有的常数。
Dpwm1Regs.DPWMEV3.all =(周期)/5;/1/2周期
Dpwm1Regs.DPWMEV4.ALL =周期/2;//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;
}
void init_dpwm2 (void)
{
Dpwm2Regs.DPWMCTRL0.bit.PWM_EN = 0;//针对初始化在本地禁用
Dpwm2Regs.DPWMCTRL0.bit.CLA_EN = 1;//默认为1 -使用 CLA
Dpwm2Regs.DPWMCTRL0.bit.PWM_MODE = 0;//正常模式
Dpwm2Regs.DPWMPRD.all = period;//use .all 对于所有值、请确保缩放匹配。
Dpwm2Regs.DPWMEV1.ALL =(周期* 3)/5;//在周期开始时置入事件1
Dpwm2Regs.DPWMEV2.all =周期;//1/4周期-除法是可以的、因为它都是常数。
Dpwm2Regs.DPWMEV3.ALL =周期/5;/1/2周期
Dpwm2Regs.DPWMEV4.ALL =周期/2;//3/4周期
Dpwm2Regs.DPWMSAMPTRIG1.ALL =周期;//3/4周期
Dpwm2Regs.DPWMCTRL2.bit.sample_trig_1_EN = 1;//启用1个采样触发器
Dpwm2Regs.DPWMCTRL1.bit.EVENT_UP_SEL = 1;//在周期结束时更新
Dpwm2Regs.DPWMCTRL0.bit.PWM_EN = 1;//本地启用
Dpwm2Regs.DPWMCTRL2.bit.reson_d死 区时间_COMP_EN = 1;
}
void init_dpwm3 (void)
{
Dpwm3Regs.DPWMCTRL0.bit.PWM_EN = 0;//针对初始化在本地禁用
Dpwm3Regs.DPWMCTRL0.bit.CLA_EN = 1;//默认为1 -使用 CLA
Dpwm3Regs.DPWMCTRL0.bit.PWM_MODE = 0;//正常模式
Dpwm3Regs.DPWMPRD.all = period;//use .all 对于所有值、请确保缩放匹配。
Dpwm3Regs.DPWMEV1.ALL =(周期* 3)/5;//在周期开始时置入事件1
Dpwm3Regs.DPWMEV2.all =周期;//1/4周期-除法是可以的、因为它都是常数。
Dpwm3Regs.DPWMEV3.ALL =(周期)/5;/1/2周期
Dpwm3Regs.DPWMEV4.ALL =周期/2;//3/4周期
Dpwm3Regs.DPWMSAMPTRIG1.ALL =周期;//3/4周期
Dpwm3Regs.DPWMCTRL2.bit.sample_trig_1_EN = 1;//启用1个采样触发器
Dpwm3Regs.DPWMCTRL1.bit.EVENT_UP_SEL = 1;//在周期结束时更新
Dpwm3Regs.DPWMCTRL0.bit.PWM_EN = 1;//本地启用
Dpwm3Regs.DPWMCTRL2.bit.reson_d死 区时间_COMP_EN = 1;
}