按照惯例感谢网上的大神分享,小编在此附上自己的配置步骤,如有问题请告知,谢谢!
1、定时器2位于总线APB1
2、cube配置总线时钟32Mhz
3、PWM定时器配置
4、添加软件代码
//初始化
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2); //使能PWM定时器引脚
__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_2, dutyCycle); //设置占空比
//主函数
__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_2, dutyCycle); //设置占空比,高占空
uart_value[2] ++;
if(uart_value[2] < 1000) //占空比加加
{
dutyCycle ++;
}
else if(uart_value[2] < 2000) //占空比减减
{
if(dutyCycle >0)
{
dutyCycle --;
}
}
else
{
uart_value[2] = 0;
dutyCycle =0;
}
if((dutyCycle % 200) == 0) //间歇打印
{
printf("dutyCycle:%d\r\n",dutyCycle); //串口打印占空比
}
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
HAL_Delay(5); //延时1ms