【蓝桥杯嵌入式】【STM32】9_PWM之实现交替呼吸灯

  下载工程文件:
  https://gitee.com/Joseph_Cooper/blue-bridge-embedded

前言

  STM32中的硬件PWM功能是依赖定时器的计数功能实现的本篇文章将介绍其工作原理配置流程。如果想看三种定时器之间的区别的话点击这里

1、PWM工作过程

PWM工作过程:
在这里插入图片描述
  PWM的工作原理如图所示假设CNT计数器向上计数,则CNT数值变化在0 -> CCRx的过程中IO输出为0,CNT数值变化在CCRx -> ARR过程中输出为1,而后CNT的数值归0。

以上工作流程建立在:
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
的设定下。


2、TIMx_CHx – IO 映射表

2.1、TIM1

在这里插入图片描述

2.2、TIM2

在这里插入图片描述

2.3、TIM3

在这里插入图片描述

2.4、TIM4

在这里插入图片描述


3、配置流程

  为了效果明显,这里采用TIM3的完全重映射的1、2通道即PC8、PC9,这两个IO连接到CT117ELED:LD1、LD2
  配置流程:
  1)开启 TIM3 时钟以及复用功能时钟,配置 PC8、PC9 为复用输出。
  2)设置 TIM3_CH3、TIM3_CH4 重映射到 PC8、PC9 上。
  3)初始化 TIM3,设置 TIM3ARR(自动重装载值) 和 PSC(预分频值)
  4)设置 TIM3_CH3、TIM3_CH4PWM 模式,使能 TIM3CH3、CH4 输出。
  5)使能 TIM3
  6)修改 TIM3_CCR3、TIM3_CCR4 来控制占空比。

周期计算公式:溢出时间Tout(单位秒)
在这里插入图片描述

注:Tclk在此一般取72M


4、部分源码

main.c:

#include "Headfile.h"

/** 
* @file 	main.c 
* @brief 	实现交替呼吸灯
* @version  1.0
* @author   JosephCooper
* @date     2020.09.02
*/


/** 滴答定时器实现延时中间变量 */
u32 TimingDelay &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值