This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
I want to use ETPWM module for controller TMS570LS0914
When i am calling this function etpwmSetCmpA() and set the different duty cycle to check the pwm signals on ePWM1A and ePWM1B pin and if run the code step by step , i am no able to get any signals on Pins only getting LOW signals on Pins and if i do continue or free running of code that time i am able to get signals on both the Pins ePWM1A and epwm1B(getting duty cycle whatever i have set in code) which is exactly i am expected.
But when same thing i am doing with the other controller which is TMS570LC43 my code is working as expected.
is there any different between controller ??
Hi Chanchal,
We started working on your issue and will provide an update soon.
--
Thanks & regards,
Jagadish.
But when same thing i am doing with the other controller which is TMS570LC43 my code is working as expected.
So, you mean in TMS570LC43 you are getting signals even though you are doing step by step debugging?
Is your code and configurations being same on both the controllers?
Can i get your code, is it possible to share it?
--
Thanks & regards,
Jagadish.
Yes on TMS570LC43 it is working when i am doing step by step and code and configurations is same for both the code
int main(void)
{
/* USER CODE BEGIN (3) */
EPWMIntf_RetCode_t Enm_Ret;
GIOIntf_Init();
EPWMIntf_Init();
EPWMIntf_Enable(EPWMINTF_EPWM1);
Enm_Ret = EPWMIntf_SetOutDuty(EPWMINTF_EPWM1, EPWMINTF_EPWMA, 10U);
if (Enm_Ret == EPWMINTF_SUCCESS)
{
Enm_Ret = EPWMIntf_SetOutDuty(EPWMINTF_EPWM1, EPWMINTF_EPWMB, 20U);
}
if (Enm_Ret == EPWMINTF_SUCCESS)
{
Enm_Ret = EPWMIntf_SetPeriod(EPWMINTF_EPWM1, 25U);
}
if (Enm_Ret == EPWMINTF_SUCCESS)
{
Enm_Ret = EPWMIntf_SetOutDuty(EPWMINTF_EPWM1, EPWMINTF_EPWMA, 50U);
}
if (Enm_Ret == EPWMINTF_SUCCESS)
{
Enm_Ret = EPWMIntf_SetOutDuty(EPWMINTF_EPWM1, EPWMINTF_EPWMB, 70U);
}
if (Enm_Ret == EPWMINTF_SUCCESS)
{
Enm_Ret = EPWMIntf_SetOutDuty(EPWMINTF_EPWM1, EPWMINTF_EPWMA, 0U);
}
if (Enm_Ret == EPWMINTF_SUCCESS)
{
Enm_Ret = EPWMIntf_SetOutDuty(EPWMINTF_EPWM1, EPWMINTF_EPWMB, 100U);
}
if (Enm_Ret == EPWMINTF_SUCCESS)
{
Enm_Ret = EPWMIntf_SetSignal(EPWMINTF_EPWM1, 10U, 25U, 35U);
}
while (1)
{
}
/* USER CODE END */
return 0;
}
main code is attached herewith.
Regards,
Chanchal
Hi Chanchal,
I could see the behavior you mentioned at my end now, let me analyze further before providing update.
--
Thanks & regards,
Jagadish.
Hi Chanchal,
I am discussing this with internal team,
Please expect some delay in my update and i will provide update as soon as i got feedback from them.
--
Thanks & regards,
Jagadish.
Hi Chanchal,
Apologies for the delay and i didn't get update from internal team yet.
--
Thanks & regards,
Jagadish.
Hi Chanchal,
Today i found one old thread
In this thread they are using nTZ6 signal to stop PWM in debug mode.
Here is the GEL script to enable the CTI
I think it is the right way to stop the PWM signals in TMS570LC4357.
--
Thanks & regards,
Jagadish.