stm32生​​成具有多个通道的PWM信号

时间:2018-04-19 20:07:04

标签: stm32 stm cubemx

HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2);
TIM3->CCR1 =25000;

enter image description here

我试图同时将2个引脚设置为相同的PWM信号。 但是,它不起作用。只有1个引脚(通道1)具有PWM输出,第2个引脚(通道2)具有空输出。

2 个答案:

答案 0 :(得分:1)

每个频道都有自己的寄存器CCR

您只设置一个,第二个具有默认值 - 0 - 并且生成的PWM信号的占空比为零或100%,具体取决于其他寄存器设置。

添加:

TIM3->CCR2 = /*your value here*/;

它应该有效

答案 1 :(得分:0)

尝试使用这些命令
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, value); __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, value);