STM32_HAL库—PWM产生指定个数

(一)CubeMX设置:

1. 晶振配置(72M)在这里插入图片描述

2. 引脚配置

在这里插入图片描述

3. 中断配置

在这里插入图片描述

4. 配置及实现方式

在这里插入图片描述
由上推出公式:

	机器周期: (72MHz / 36) = 2MHz = 0.5us

	PWM周期: 0.5 * 100 = 50us = 20kHz

5. 主函数调用PWM函数

HAL_TIM_PWM_Start_IT(&htim3, TIM_CHANNEL_2); //此处一句后可直接进入中断

6. PWM溢出回调函数

void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) //中断回调
{
  static uint16_t i = 0;
  i++;
  if(i >= 10)  //此处10为产生PWM的数量,可设置为变量实时改变
  {
    i =0;
    HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_2); //产生指定数量的PWM波后停止PWM的产生
  }
}

版权声明:本文为CSDN博主「qq_26043945」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26043945/article/details/122845837

生成海报
点赞 0

qq_26043945

我还没有学会写个人说明!

暂无评论

相关推荐

STM32F2————配置时钟延迟不准的问题

STM32F2配置时钟问题 笔者在本科毕业设计使用STM32F207芯片,但是在配置时钟时出现了问题。 问题 我按照F1写代码的延时函数放在F2竟然不准了 换个办法 使用Systick时钟也是不准,原因是笔者代

STM32(七)DMA总结库函数串口使用DMA

系列文章目录 前言 DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接 控制传输,也没有中断处理方式那样保留现场和恢复现场的过

stm32使用CubeMX配置LED灯闪烁

前言 本篇文章将带大家学习如何使一个LED灯闪烁。 一、cubeMX配置 CubeMX配置和点亮一个LED的配置方法是一样的,点亮一个LED灯。 二、使用HAL库函数点亮LED灯 HAL_GPIO_WritePin(GP