OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3009|回复: 2

战舰调试日志1-PWM试验中把PWM模式2改为模式1,LED处于长亮的问题。

[复制链接]

1

主题

7

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1073
金钱
1073
注册时间
2019-1-9
在线时间
101 小时
发表于 2020-8-12 14:47:52 | 显示全部楼层 |阅读模式
本帖最后由 杀死比亚dgq 于 2020-8-12 14:58 编辑

首贴
战舰----在用定时器输出PWM时,即试验9-PWM输出问题,大家都遇到这个问题,把PWM模式2改为模式1,为什么LED就处于长亮?
关于这个问题,论坛上也有很多解答的思路,可我觉得都是有些是在把现象给凑出来,可为什么这么改程序,也没有说清楚,
哪怕是这篇精华帖也没说清楚http://www.openedv.com/forum.php ... ght=PWM%C4%A3%CA%BD,也只是在翻译程序。
思考许久,终于得到能让自己信服的理由。以下仅为本人的看法,有不足之处,欢迎指正。

基础知识,我就不赘述了,简单说明以下,程序是完全基于原子哥的例程9调试的。即TIM3-通道2-输出PWM,定时器向上计数。解释一下我用的一些简写,
本文中PWM2,表示PWM模式2;PWM1,表示PWM模式1;PWM2(H),表示PWM模式2下的有效电平为高电平;同理:PWM1(L),表示PWM模式1的有效电平为低电平。

用图说话更为直观:
0RA6Y90%9XA7W1C]}80]TRQ.jpg        J05Y0PD%0~2PSF7C$TUBM2T.jpg
图一是工作与PWM模式2下,定时器向上计数,IO口输出的电平状态,即TIM3_CNT>TIM3_CCR2时,有效电平为高电平。开发板的LED是低电平点亮。程序开始运行后,led0pwmval(控制占空比)就从0--300--0这样一直变化,
即占空比一直发送变化,低电平的时间也随之发送变化。
图二是工作与PWM模式2下,定时器向上计数,有效电平为低电平。
这里假设一个LED亮度标准,在一个周期(899)内,当低电平的时间大于200,LED为高亮;当低电平的时间在200-100之间,LED处于中亮;当低电平的时间小于100时,LED处于低亮。

在PWM2(H)下,一个周期内,LED点亮的时间范围为t[0,300],因为led0pwmval发生变化。那么在一个周期(899)内,LED达到高亮的时间最多只有100个单位,处于中亮的时间最多
有100个单位,处于低亮的时间有100个单位。所以LED就有暗--亮---暗的变化。

在PWM2(L)下,一个周期内,LED点亮的时间范围为t[899-300,899]即,t[599,899],从而看出低电平最少的时间也是599,所以不管led0pwmval怎么变化,LED都处于高亮状态,
这也就是仅将PWM2改为PWM1后,LED处于长亮的原因。如果把led0pwmval的变化范围设的大一点呢,比如设为0到800,得低电平的时间在[99,899]之间变化,从中得以看出低电平
最少也占99,也没有让LED长时间处于低亮状态,当led0pwmval从0自加到599占用了周期很大一部分时间,这段时间,低电平的时间一直大于300,led0pwmval从599自加到800,低电平的时间也只能减到99。
所以在PWM2(L)下,即使调整占空比,也达不到在PWM2(H)的现象。

同理可以分析出PWM1(L)的时序图,与图一 一样,PWM1(H)的时序图与图二一样。所以在PWM2(H)和PWM1(L)这样的设置时,可以看到呼吸灯的效果。










正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

98

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2012-7-29
在线时间
19 小时
发表于 2020-8-12 15:47:32 | 显示全部楼层
回复 支持 反对

使用道具 举报

16

主题

98

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2012-7-29
在线时间
19 小时
发表于 2020-8-12 15:49:04 | 显示全部楼层
问下有效电平是高电平 是什么意思
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 02:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表