一、Cube配置
二、公式
2.1f = 定时器时钟 / (Prescaler + 1)/ (Counter Period + 1)Hz = 72000000 / (71 + 1) / (499 + 1) = 2000Hz
2.2Duty = Pulse / Counter Period = 0 / 499 = 0
三、代码编写
#define pmax 499
...
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
...
void T1(void const * argument)//FreeRtos任务
{
/* USER CODE BEGIN 5 */
/* Infinite loop */
for(;;)
{
for(uint16_t p = 0; p <= pmax; p++) {
__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, p);//Duty = Pulse / Counter Period = p / 499
osDelay(5);
}
}
/* USER CODE END 5 */
}
【注】__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, p);//Duty = Pulse / Counter Period = p / 499