我使用DSP28035处理器控制移相全桥控制器
控制周期选定为50us,主控函数里面的所有浮点计算都使用IQmath处理过;
但是在实际的中断函数里面,在控制算法中,我发现被调用的以下两个函数一共需要耗时4.6us,即便把函数里面的所有语句全部屏蔽,什么事情也不做,只是在中断里面调用Epwm_START()也需要耗时900ns左右,这令人十分困惑,不知道是什么原因啊。
对应的函数如下
void EPWM_START(void)
{
Epwm_STARTEpwmx(&Epwm1Regs)
Epwm_STARTEpwmx(&Epwm5Regs)
Epwm_STARTEpwmx(&Epwm7Regs)
Epwm_STARTEpwmx(&Epwm9Regs)
}
void Epwm_STARTEpwmx(volatile struct EPWM_REGS *EPwmxRegs)
{
EPwmxRegs->AQSFRC.bit.RLDCSF = EPWM_ACREG_LOAD_ZERO;
EPwmxRegs->AQCSFRC.bit.CSFA = EPWM_SW_FORCE_DISABLE;
EPwmxRegs->AQCSFRC.bit.CSFB = EPWM_SW_FORCE_DISABLE;
}