OpenEdv-开源电子网

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

近期关于pwm实验的一些困惑与解决办法

[复制链接]

7

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
210
金钱
210
注册时间
2017-11-1
在线时间
67 小时
发表于 2017-11-19 13:59:04 | 显示全部楼层 |阅读模式
本帖最后由 xinyuan123 于 2017-11-19 14:06 编辑

近期通过原子教程学习了PWM,在进行LED呼吸灯实验过程中挖了不少坑,自己也终于补上了(怪自己粗心大意)以PB0复用定时器TIM3_CH3为例:
pwm1.png
配置过程中需要注意一下几点:
1、在配置定时器3外设时钟时,没看清函数名导致最后烧写到板子上的led一直亮。(花了好久才检查出来)
pwm2.png
2、其实PWM配置还是蛮简单的,但是需要注意三个地方:
      1、TIM_OC3Init(TIM3, &TIM_OCInitStruct); //定时器通道3初始化
      2、TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能定时器上的预装载寄存器
      3、TIM_SetCompare3(TIM3,led0pwmval);解释:函数1、2在pwm.c中,函数3在主函数中,因为端口配置的是TIM3_CH3,则需要改变以上的三个函数参数和函数名(见红色代表函数参数和黄色代表函数名)。
尤其是TIM_SetCompare3(TIM3,led0pwmval)函数最容易被忽视,如果没有配置,就会导致led一直处于熄灭状态。

完整程序见附件

PWM.rar

4.88 MB, 下载次数: 122

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 23:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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