主题中讨论的其他器件:C2000WARE
尊敬的香槟:
我是为我们的客户提出这个问题的。
在 C2000ware V4.03 driverlib 中、
EPWM_setDeadBandControlShadowLoadMode (myEPWM1_base、EPWM_DB_LOAD_ON_CNTR_ZERO);
似乎清除了 DBCTL.OUT_MODE、这是意料之外的!!
请参阅观察窗口中的 CCS 分步调试、
在运行 EPWM_setDeadBandControlShadowLoadMode (myEPWM1_base、EPWM_DB_LOAD_ON_CNTR_ZERO)之前;

运行 EPWM_setDeadBandControlShadowLoadMode (myEPWM1_base、EPWM_DB_LOAD_ON_CNTR_ZERO)后;

查看其来源、
static inline void
EPWM_setDeadBandControlShadowLoadMode(uint32_t base,
EPWM_DeadBandControlLoadMode loadMode)
{
//
// Check the arguments
//
ASSERT(EPWM_isBaseValid(base));
//
// Enable the shadow mode and setup the load event
//
HWREGH(base + EPWM_O_DBCTL2) =
((HWREGH(base + EPWM_O_DBCTL2) & ~EPWM_DBCTL2_LOADDBCTLMODE_M) |
(EPWM_DBCTL2_SHDWDBCTLMODE | (uint16_t)loadMode));
}
LoadMode 是否需要类似这样的移位 "(uint16_t) loadMode << ePWM_DBCTL2_LOADREDMODE_S"?
您是否愿意查看此内容?