stm32单片机Pwm输出对频率,定时器的理解

原理介绍

首先我们要了解系统时钟的概念
32单片机外接了一个8M的晶振,经过9倍的倍频后,PLL锁相环输出72Mhz的频率。这即系统的主频。

定时器中 TIM3_Init(u16 arr,u16 psc)这个初试函数中,arr是自动重装载值,psc是可编程预分频器。(他们共同设置什么时候该溢出)
比如arr = 899, psc = 0;
就表示没有分频,此时定时器的时钟频率仍为72MHz,表示每个周期定时器经过900个脉冲,周期 = 1/72 us *900
PWM 的频率就是 72000 000/900 = 8M

在这里插入图片描述
当我们设置pwm模式2,极性为高时
在这里插入图片描述
pwm输出为这样的模式,由于我们想制作,呼吸灯,可以通过不断改变ccr的值,来改变占空比。从而调整LED灯的亮度。

流程展示

在这里插入图片描述
ps:小细节

  1. TIM_ClockDivision的作用就是在未分频之前根据要求建立新的分频器,确定定时器,确定一定的延时时间,在此时间内完成一定预期的功能,一般不太用,所以无论是定义图二中的哪个值对原本定时器的频率都毫无影响

TIM_TimeBaseStructure.TIM_ClockDivision=0;这个语句的意思是不分频,换句话说频率不变。

  1. 在这里插入图片描述有关pwm模式2
    在这里插入图片描述
    这两种pwm模式就是输出电平的极性相反

如同上图画的那样,占空比的有效部分是由
极性和pwm模式共同决定的。
3. 配置后,紧接着初始化函数
结构体一定要放在函数的最前面

代码问题

  1. 首先注意每一行代码之间的联系和逻辑
    在这里插入图片描述
    比如 if这里dir =0;
    那么后面的pwmled (crr(21Q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值