STM32CubeMX PWM

一、PWM简介

        脉宽调制 (PWM) 是一种从数字输出输出模拟值的技术。普通的 GPIO 输出只能输出高电平或低电平。因此,只能通过使用时间来生成模拟值。使用 PWM,引脚交替打开和关闭,以便平均输出电压介于高电压和低电压之间。

       占空比和 PWM 频率对我们来说是最重要的参数。接通时间占该周期时间的比例称为占空比。例如,20% 的占空比意味着信号在 20% 的时间内开启,在 80% 的时间内关闭。 PWM 频率指定信号的时间周期。

频率 =定时器时钟  / (psc+1) / (arr+1) (单位:Hz)
arr 是计数器值
psc 是预分频值
占空比:
duty circle = TIM3->CCR1 / arr(单位:%)
TIM3->CCR1  用户设定值

TIM3->CCR1 = dutyCycle
和__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, dutyCycle);作用相同

HAL_TIM_PWM_Start//PWM启动函数
HAL_TIM_PWM_Stop//PWM停止函数
_HAL_TIM_SET_COMPARE//占空比
_HAL_TIM_SET_AUTORELOAD//周期

二、CubeMX配置

打开仿真调试

时钟源 

 选择频率

 使能板载LED PC13引脚

定时器配置

生成工程

 

在代码中只需要在main函数调用

main.c

  /* USER CODE BEGIN 2 */
	
    HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
	
  /* USER CODE END 2 */

添加小灯观察板子是否工作

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
		
		HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
		HAL_Delay(100);
    /* USER CODE END WHILE */

 运行结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chem4111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值