OpenEdv-开源电子网

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

MINI板PWM控制呼吸灯的一个疑惑

[复制链接]

22

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2017-9-18
在线时间
42 小时
发表于 2017-12-13 23:40:45 | 显示全部楼层 |阅读模式
1金钱
我在看完战舰精英PWM输出实验教程后自己尝试改写为MINI板上代码,没有成功,最后在原子哥给出的MINI代码中找到了问题
一是在pwm初始化函数中少了TIM_CtrlPWMOutputs(TIM1,ENABLE)语句,这个我已经明白了
二是在主程序的while循环中,开头要加一个delay_ms(10)函数,否则受控LED会一直亮着,加上延时函数就会出现呼吸效果
这是为什么呢?我只记得在之前按键输入试验中有用类似函数来防抖动,为什么在这个实验中会成为必须的代码?
望不吝赐教!

最佳答案

查看完整内容[请看2#楼]

CtrlPWMOutputs,这个是TIM1才需要加的。其他TIM可以不加。 加延时是为了让PWM输出有效果,不加延时PWM还没输出你又改了CCR,导致CCR一直在变化,没法正常输出PWM
普通人要怎么努力,才能超越勤奋的天才啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-13 23:40:46 | 显示全部楼层
CtrlPWMOutputs,这个是TIM1才需要加的。其他TIM可以不加。  加延时是为了让PWM输出有效果,不加延时PWM还没输出你又改了CCR,导致CCR一直在变化,没法正常输出PWM
回复

使用道具 举报

22

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2017-9-18
在线时间
42 小时
 楼主| 发表于 2017-12-14 20:04:24 | 显示全部楼层
明白了,谢谢回复!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-12 22:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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