OpenEdv-开源电子网

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

求大神解析一下 小白求教

[复制链接]

18

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2019-6-4
在线时间
75 小时
发表于 2019-7-1 12:50:52 | 显示全部楼层 |阅读模式

          while(1)
        {       
                delay_ms(10);       
                if(dir)led0pwmval++;
                else led0pwmval--;

                if(led0pwmval>300)dir=0;
                if(led0pwmval==0)dir=1;                                                                                 
                TIM_SetCompare2(TIM3,led0pwmval);                        //修改占空比         
        }         

PWM输出,为什么前面要加延时,不加好像达不到预期由暗到亮的效果

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

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2019-7-1 18:47:22 | 显示全部楼层
不加的话 变化会非常的快,快到你感觉LED灯没什么变化,你可以试着加大延时,会发现灯亮度变化会越来越慢~~
回复 支持 反对

使用道具 举报

1

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
477
金钱
477
注册时间
2019-5-31
在线时间
90 小时
发表于 2019-7-1 19:01:40 | 显示全部楼层
楼上正解!不过你也可尝试将定时器分频弄大一点,再把重装载值设置大一点,不加延时可能也能看到效果!
回复 支持 反对

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2019-7-2 16:34:29 | 显示全部楼层
由于人眼观察时会有视觉暂留现象,如果LED亮度变化太快的话,人眼观察时就感觉不到。就像数码管动态扫描原理一样。若要人眼能明显得感觉到变化,就需要增加延时。让LED的亮度变化更慢一点,这样人眼就能感觉到亮度变化了。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 07:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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