STM32使用多路PWM注意事项
这是使用CubeMX自动产生的代码,使用TIM2产生了PA0,PA1,PA2,PA3这4路PWM,可以看到里面Pulse是共同使用了一个sConfigOC,如果是需要动态调整Pulse,就需要特别注意。
如果是用来产生呼吸灯,就会把这4个PWM都打乱,我觉得,最好是定义4个不同的sCongigOC
sConfigOC.Pulse = 1500;
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
sConfigOC.Pulse = 2000;
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
{
Error_Handler();
}
sConfigOC.Pulse = 2500;
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
{
Error_Handler();
}