When I use the eFlexPWM submodule 0 of the S32K396 to generate complementary PWM, the PWMA channel has output, but the PWMB channel does not. However, when I use PWMB to output PWM separately, the PWMB channel outputs normally. Below are my configurations and code in the S32DS.






*/
/* Including necessary configuration files. */
#include "Mcal.h"
//#include "Siul2_Dio_Ip.h"
#include "Siul2_Port_Ip.h"
#include "Clock_Ip.h"
#include "FlexPwm_Ip.h"
#define INSTANCE_0 (uint8)0U
#define SubModule_0 (uint8)0U
#define SubModule_1 (uint8)1U
#define SubModule_2 (uint8)2U
/* User includes */
/*!
\brief The main function for the project.
\details The startup initialization sequence is the following:
* - startup asm routine
* - main()
*/
int main(void)
{
/* Write your code here */
Clock_Ip_Init(Clock_Ip_aClockConfig);
Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS_PortContainer_0_BOARD_InitPeripherals, g_pin_mux_InitConfigArr_PortContainer_0_BOARD_InitPeripherals);
FlexPwm_Ip_Init(INSTANCE_0,&FlexPwm_Ip_InstanceCfg_I0);
// FlexPwm_Ip_ClearLoadValue(INSTANCE_0, 1U << SubModule_0);
// FlexPwm_Ip_UpdateDutyCycle(INSTANCE_0, SubModule_0, FLEXPWM_IP_PWMA, 200);
// FlexPwm_Ip_LoadValue(INSTANCE_0, 1U << SubModule_0, TRUE);
//
// FlexPwm_Ip_ClearLoadValue(INSTANCE_0, 1U << SubModule_1);
// FlexPwm_Ip_UpdateDutyCycle(INSTANCE_0, SubModule_1, FLEXPWM_IP_PWMA, 0x200);
// FlexPwm_Ip_LoadValue(INSTANCE_0, 1U << SubModule_1, TRUE);
//
// FlexPwm_Ip_ClearLoadValue(INSTANCE_0, 1U << SubModule_2);
// FlexPwm_Ip_UpdateDutyCycle(INSTANCE_0, SubModule_2, FLEXPWM_IP_PWMA, 0x300);
// FlexPwm_Ip_LoadValue(INSTANCE_0, 1U << SubModule_2, TRUE);
while(1)
{
}
}
Could you please tell me how to configure it so that the complementary channel PWMB outputs normally? Thank you.