• 正文
  • 相关推荐
申请入驻 产业图谱

STM32用CUBEMX配置Freertos和PWM

22小时前
342
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1、定时器配置

2、配置时钟树

TIM4挂载在APB1下,不分频的情况下,实际PWM周期 = 设置的周期数值/定时器时钟;上图设置1000的实际周期为1000/240=4.1666(单位为us)。

3、配置freertos,生成代码

4、APP添加程序

/* USER CODE END Header_APP2 */
void APP2(void *argument)
{
  /* USER CODE BEGIN APP2 */
  /* Infinite loop */
	HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); // 启动通道 1
	HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_2); // 启动通道 2
	HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3); // 启动通道 3
	HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_4); // 启动通道 4
	__HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_1, 500); // 占空比为 50%
	__HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_2, 500); // 占空比为 50%
	__HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_3, 500); // 占空比为 50%
	__HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_4, 500); // 占空比为 50%

  for(;;)
  {
    osDelay(1);
  }
  /* USER CODE END APP2 */
}

5、逻辑分析仪测量输出

相关推荐