通用定时器 输出pwm原理

1ae7b2db8d934bed9f57828f137dbc3d.jpg

 这个是  输出pwm 判断条件,比较cnt和arr的值,来判断当前是否输出有效电平

b8647f24cac24b6884324ab1c11780fc.jpg

这个是判断pwm的输出条件排列模式,可以选pwm1或者pwm2模式,然后每个模式有递增计数还是递减计数,例如:根据设置的是pwm1模式的 递增计数,那么计数cnt<crrx时候,输出有效电平,但是有效电平还要根据极性也就是CCxP来判断,是高电平有效还是低电平有效 。

说白了就是 pwm先选模式,再选递增还是递减计数,然后还需要感觉输出极性也就是CCxP才能决定输出的是高电平有效还是低电平有效

 

2d7f5f1b03e1408c8aa4e922cc38deca.jpg

这个图里面的评论就是我上面那个图 写的pwm输出条件选择逻辑 

 

db938d18d05140589e5a1bbe75d9dd14.jpg

 这个图是pwm输出实验配置步骤,用cubmax可以一键生成,但是步骤还是需要知道的

 

2d72d9143a1e446a90571270d4ff2d54.jpg

这个图 是pwm输出配置实验步骤的相关库函数所调用的寄存器 就是熟悉一下,如果出问题了,可以去看对应寄存器,但是我短时间还达不到这个看寄存器分析问题的水平

 

f48a0ac897ce40b59323b4635da9b472.jpg

这个图是基础定时器的配置步骤所需要的库函数,与通用定时器的配置步骤做一个比较 ,其实两个步骤也差不多的

 

b38f30ae76be4ef0811d8e3acc8e96b9.jpg

注意: 这个图很重要,以f1为例,定时器的时钟源频率都是72mhz,当psc等于71,arr等于499,那么得到pwm的周期是0.5ms(毫秒)也就是500微秒,注意  (周期是一次pwm反转,频率是一秒内pwm能反转多少次,2khz的频率那么一秒pwm反转2000次 因为0.5ms*2000等于1s)

所以如果不改变pwm的比较值,在人眼看来,灯就是一直亮的

当改变pwm的比较值的时候,这个时候其实是这样想的,因为pwm如果设置占空比是50%,那么高电平时间其实就是0.25毫秒,以远远大于这个时间的颜色去改变这个pwm的占空比,就相当于是在缓慢改变比较值了

注意(最后这个pwm做呼吸灯这个改变比较值这个事情,其实我感觉我理解的不一定很对,需要再想一下)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值