STM32L4 Complementary PWM use only the negative Channel
you haven't started the NChannels. do it like this:

   HAL_TIM_MspPostInit(&amp;htim1);


   /* Start channels x*/

   if(HAL_TIM_PWM_Start(&amp;htim1, TIM_CHANNEL_3) != HAL_OK)
   {
     /* Starting Error*/
     Error_Handler();
   }
   /* Start channel xN*/
   if(HAL_TIMEx_PWMN_Start(&amp;htim1, TIM_CHANNEL_3) != HAL_OK)
   {
    /*Starting Error*/
     Error_Handler();
   }

   if(HAL_TIM_PWM_Start(&amp;htim1, TIM_CHANNEL_2) != HAL_OK)
   {
     /* Starting Error*/
     Error_Handler();
   }
   /* Start channel xN*/
   if(HAL_TIMEx_PWMN_Start(&amp;htim1, TIM_CHANNEL_2) != HAL_OK)
   {
    /*Starting Error*/
     Error_Handler();
   }

   if(HAL_TIM_PWM_Start(&amp;htim1, TIM_CHANNEL_1) != HAL_OK)
   {
     /* Starting Error*/
     Error_Handler();
   }
   /* Start channel xN*/
   if(HAL_TIMEx_PWMN_Start(&amp;htim1, TIM_CHANNEL_1) != HAL_OK)
   {
    /*Starting Error*/
     Error_Handler();
   }