工具/软件:Code Composer Studio
当我浏览 DRV8312-C2-KIT 的 BLDC 无传感器代码时、我会感到困惑。
/*设置同步*/\
EPwm1Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm2Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm3Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm4Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm5Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm6Regs.TBCTL.bit.SYNCOSEL = 0;\
\
/*允许同步每个计时器*/\
EPwm1Regs.TBCTL.bit.PHSEN = 1;\
EPwm2Regs.TBCTL.bit.PHSEN = 1;\
EPwm3Regs.TBCTL.bit.PHSEN = 1;\
EPwm4Regs.TBCTL.bit.PHSEN = 1;\
EPwm5Regs.TBCTL.bit.PHSEN = 1;\
EPwm6Regs.TBCTL.bit.PHSEN = 1;\
\
/* EPWM1-EPWM3*的初始定时器基周期寄存器*/\
EPwm1Regs.TBPRD = v.PeriodMax;\
EPwm2Regs.TBPRD = v.PeriodMax;\
EPwm3Regs.TBPRD = v.PeriodMax;\
\
/*用于 EPWM1-EPWM3*的 Init Timer-Base 相位寄存器*/\
EPwm1Regs.TBPHS.Half.TBPHS = 0;\
EPwm2Regs.TBPHS.Half.TBPHS = 0;\
EPwm3Regs.TBPHS.Half.TBPHS = 0;\
\
/*用于 EPWM1-EPWM3*的 Init Timer-Base 控制寄存器*/\
EPwm1Regs.TBCTL.ALL = BLDCPWM_INIT_STATE;\
EPwm2Regs.TBCTL.ALL = BLDCPWM_INIT_STATE;\
EPwm3Regs.TBCTL.ALL = BLDCPWM_INIT_STATE;\
我不确定,但我认为 /* Setup Sync*/和 /*中的代码允许每个定时器同步*/将被 EEPWM1-EPWM3*/的/* Init Timer-Base Control Register 中的代码覆盖。 我想知道前两个部分的含义是什么。
谢谢