×
单片机 > 单片机程序设计 > 详情

STM32CubeMX(Keil5)开发之路——7输出PWM

发布时间:2020-05-28 发布时间:
|

运行环境

Windows10

STM32CubeMX___Version 5.0.0

Keil5(MDK5)___Version 5.15

简介

本例程主要讲解如何设置PWM这只输出4路PWM信号


STM32CubeMx基本配置

基础配置过程请参考 STM32CubeMx(Keil5)开发之路—配置第一个项目


STM32CubeMx PWM配置

1——点击TIM2进行设置

2——4个Channel都选择 “PWM Generation CHx” 选项

3——预分频值填72-1即71

4——自动重装载值设置为100-1也就是99

5——会看到相应的输出管脚PA0——PA3就是PWM的输出管脚

讲解:PWM波的频率=时钟频率/(预分频+1)/(自动重装载值+1)

即 :72000000/72/100=10000(HZ)

时钟频率/(预分频+1):表示每秒计数的个数

(自动重装载值+1):表示一共计这么多个

总体来看,每秒计72000000/72=1000000个,即1us计数一次,一共计数100次,那么计数100次需要花得时间为100us,所以完成一个周期需要的时间是100us,频率就是10000HZ


代码修改

1——选择main.c文件

2——在USER CODE中添加如下代码,打开PWM定时器

3——在USER CODE中接着添加如下代码,设置占空比

占空比分别为:PA1——20/100 ,PA2——25/100, PA3——33/100, PA4——50/100


  /* USER CODE BEGIN 2 */


  HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);

  HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2);

  HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);

  HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4);

  

  __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 20);

  __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_2, 25);

  __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3, 33);

  __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4, 50);

  

 

  /* USER CODE END 2 */


烧录代码后用示波器测试PA0——PA3这四个管脚,正确的话会看到如下波形


       


关键字:STM32CubeMX  Keil5)  PWM 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
关于89C52单片机11.0592M晶振产生115200波特率的方法