Thread 中讨论的其他器件:C2000WARE、 controlSUITE
在另一篇文章("代码实现高分辨率相位控制。">e2e.ti.com/.../677071)中、我了解了如何使用"structs"代码实现高分辨率相位控制。 在这里、我想转换为使用"驱动程序"代码来使用驱动程序库。 C2000Ware 中没有一个使用高分辨率相位控制的示例、它们都使用"PWM_HrControlMode_Duty"。
我几乎完全遵循了我的结构代码、但似乎没有用于显式更改高分辨率相位值的函数。 有一个用于粗相的函数、即 PWM_setPhase (myPwm2、0)、但我不知道如何直接更改 HR 相位值(在结构版本中、我使用 EPwm2Regs.TBPHS.half.TBPHSHR = 100 << 8)。
这是相关代码。 有人可以帮助我通过驱动程序库实现高分辨率相移吗?
CLK_disableTbClockSync (myClk); UINT16周期= 120; CLK_enablePwmClock (myClk、PWM_Number_1); PWM_setPeriodLoad (myPwm1、PWM_PeriodLoad_Immediate); PWM_setPeriod (myPwm1、period-1);//设置定时器周期 PWM_setCmpA (myPwm1、period / 2); PWM_setPhase (myPwm1、0x0000);//初始阶段为0 PWM_setCount (myPwm1、0x0000);//清除计数器 (myPwm_setPwm1、myPwm1); //对 PWM_DisableCounterLoad 进行计数(myPwm1); // ePWM1是主 PWM_setSyncMode (myPwm1、PWM_SyncMode_CounterEqualZero); PWM_setHighSpeedClkDiv (myPwm1、PWM_HspClkDiv_By_1);//时钟与 SYSCLKOUT 的比值 PWM_setClkDiv (myPwm1、PWM_1 、myPwm1);myPwm_setWPWM_1、 myPwm1、myPwm1、myPwm1和 myPwm1、myPwm1、myPwm1、myPwm1、myPwm1、myPwm1、myPwm1和 myPwmWM_1);myPwmWPM_Action_1 PWM_ActionQUAL_CLEAR); PWM_setHrEdgeMode (myPwm1、PWM_HrEdgeMode_Both); PWM_enableAutoConvert (myPwm1); PWM_setHrControlMode (myPwm1、 PWM_HrControlMode_Phase); PWM_setHrShadowImage 模式(myPwm1、PWM_HrShadowImage Mode_CTR_EQ_0); PWM_enableHrPhaseSync (myPwm1); CLK_enablePwmClock (myClk、 PWM_NUMBER_2); PWM_setPeriodLoad (myPwm2、PWM_PeriodLoad_Immediate); PWM_setPeriod (myPwm2、period-1); //设置定时器周期 PWM_setCmpA (myPwm2、period / 2); PWM_setPhase (myPwm2、0);//相位初始为0 PWM_setCount (myPwm2、0x0000);//清除计数 器 PWM_setCounterMode (myPwm2、PWM_CounterMode_Up); //递增计数 PWM_enableCounterLoad (myPwm2); PWM_setSyncMode (myPwm2、PWM_SyncMode_EPWMxSYNC); PWM_setHighSpeedClkDiv (myPwm2、PWM_HspClkDiv_BY_1); //时钟与 SYSCLKOUT PWM_setClkDiv (myPwm2、PWM_ClkDiv_BY_1)的比率; PWM_setShadowImage Mode_CmpA (myPwm2、PWM_ShadowImage Mode_Shadow);//每零装载一次寄存 器 PWM_setLoadMode_cmpA (myPwm2、PWM_Action_Zero_Pwm_Pwm_Set);// myPwm_Pwm_Cmp1 (myPwm_DPM_Action_Zer_Pwm_Cwm_Cwm_Cwm_Cwm_Cwm_CmpA、myPwm_Cwm_Cwm_Zer_D PWM_ActionQUAL_CLEAR); PWM_setHrEdgeMode (myPwm2、PWM_HrEdgeMode_Both); PWM_setHrControlMode (myPwm2、PWM_HrControlMode_Phase); PWM_setHrShadowImage 模式(myPwm2、PWM_HrShadowImage Mode_CTR_EQ_0); PWM_enableHrPhaseSync (myPwm2); PWM_enableAutoConvert (myPwm2); PWM_setPhase (myPwm2、 1);//与 ePWM1同步并相移16.67ns
CLK_enableTbClockSync (myClk);