OpenEdv-开源电子网

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

新手求助关于战绩开发板PWM输出程序有点困惑。

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-10-14
在线时间
0 小时
发表于 2014-10-14 20:29:02 | 显示全部楼层 |阅读模式
5金钱
大家好,我是一名stm32初学者,用的是战舰开发板。
最近也是边看原子哥的配套教材和视频学习stm32.现在学到了PWM这一节,遇到了一个小问题,请教大家。
stm32中文手册上说,PWM模式要设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。
1.但是我找不到光盘PWM项目代码中有调用使能ARPE的函数,但是把hex下载到板子上,灯的现象是正确的。
2.我把OC2PE使能函数TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable)注释掉,结果编译后下载,板子灯的现象也是正确。
3.我后来又调用TIM_ARRPreloadConfig(TIM3,DISABLE)把ARPE关了,结果板子上的等还是正确闪烁。
可是我下载别的项目,比如跑马灯,现象是正常的。
所以比较困惑,请教下大家,我把工程压缩了,呵呵。可能是我比较菜,请大家喷的时候轻点

实验9 PWM输出实验.rar

1.75 MB, 下载次数: 52

最佳答案

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

OCxPE和ARPE都是在精确波形控制的时候,才有用的,在一般的PWM输出的时候,可以设置也可以不设置,根本看不出区别。 OCxPE和ARPE使能后,PWM波形就必须等待更新事件发生,才会产生变化,即任何一个波形都是可控的。 反之,则有可能某个波形脉宽会发生不可控变化。 但是对于点灯这种情况,一个波形在千千万万个波形面前,就如沙土丢入大海,没啥影响....
没闹好,搞得我后期很皮软。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-14 20:29:03 | 显示全部楼层
OCxPE和ARPE都是在精确波形控制的时候,才有用的,在一般的PWM输出的时候,可以设置也可以不设置,根本看不出区别。
OCxPE和ARPE使能后,PWM波形就必须等待更新事件发生,才会产生变化,即任何一个波形都是可控的。
反之,则有可能某个波形脉宽会发生不可控变化。

但是对于点灯这种情况,一个波形在千千万万个波形面前,就如沙土丢入大海,没啥影响....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-10-14
在线时间
0 小时
 楼主| 发表于 2014-10-15 15:38:28 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥点拨,嘿嘿。
没闹好,搞得我后期很皮软。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 06:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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