OpenEdv-开源电子网

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

关于pwm的一点小问题

[复制链接]

19

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2016-8-12
在线时间
50 小时
发表于 2017-8-10 18:02:16 | 显示全部楼层 |阅读模式
20金钱
我能不能问各位一个关于pwm例程的逻辑上的一个问题,就是pwm函数初始化的入口参数arr和主程序中与定时器比较的那个参数各控制什么,哪个控制周期,哪个控制占空比?就比如我用pwm通过PE5控制小灯亮灭亮灭这样循环,我要怎么设置参数来改变小灯最亮时候的亮度,哪个控制小灯循环一次的周期?纠结了好半天,还是想不通

最佳答案

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

arr是控制周期的,那个定时器函数,例如TIM_SetCompare2(TIM3,pwmval) ,那那个pwmval参数就是那个比较值,这个是控制占空比的 除此之外,那个周期的控制除了有arr控制之外,还可以设置定时器的频率来控制呐,定时器周期或者频率那里的计算公式要理解清楚。 初学者的感悟,希望可以帮上点忙
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-7-22
在线时间
1 小时
发表于 2017-8-10 18:02:17 | 显示全部楼层
arr是控制周期的,那个定时器函数,例如TIM_SetCompare2(TIM3,pwmval)        ,那那个pwmval参数就是那个比较值,这个是控制占空比的        除此之外,那个周期的控制除了有arr控制之外,还可以设置定时器的频率来控制呐,定时器周期或者频率那里的计算公式要理解清楚。      初学者的感悟,希望可以帮上点忙
回复

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
发表于 2017-8-10 20:55:41 | 显示全部楼层
你问问题应该把问题描述的详细一点,别人才能解答,把程序贴出来,哪一块不明白,这样别人才能迅速的帮你解答问题。

一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复

使用道具 举报

19

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2016-8-12
在线时间
50 小时
 楼主| 发表于 2017-8-11 07:25:57 | 显示全部楼层
流水若冰 发表于 2017-8-10 20:55
你问问题应该把问题描述的详细一点,别人才能解答,把程序贴出来,哪一块不明白,这样别人才能迅速的帮你解 ...

我想你可能没有学习正点原子的pwm例程
回复

使用道具 举报

19

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2016-8-12
在线时间
50 小时
 楼主| 发表于 2017-8-11 07:29:17 | 显示全部楼层
卡文迪欧 发表于 2017-8-10 21:43
arr是控制周期的,那个定时器函数,例如TIM_SetCompare2(TIM3,pwmval)        ,那那个pwmval参数就是那个比较值, ...

其实我和你的理解差不多。可是昨天我发现我改变你说的那个TIM_SetCompare2(TIM3,pwmval)里面pwmval的最大值以后,周期也跟着变了
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-8-11 08:57:18 | 显示全部楼层
魑魅魍魉 发表于 2017-8-11 07:29
其实我和你的理解差不多。可是昨天我发现我改变你说的那个TIM_SetCompare2(TIM3,pwmval)里面pwmval的最大 ...

不会变的,除非你改变了TIMx->ARR的值, 用示波器抓波形证明周期变了
回复

使用道具 举报

19

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2016-8-12
在线时间
50 小时
 楼主| 发表于 2017-8-11 11:53:37 | 显示全部楼层
wxjhby 发表于 2017-8-11 08:57
不会变的,除非你改变了TIMx->ARR的值, 用示波器抓波形证明周期变了

那可能是肉眼的错觉吧,
回复

使用道具 举报

19

主题

126

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2016-8-12
在线时间
50 小时
 楼主| 发表于 2017-8-11 11:57:58 | 显示全部楼层
wxjhby 发表于 2017-8-11 08:57
不会变的,除非你改变了TIMx->ARR的值, 用示波器抓波形证明周期变了

依然按照我上面说的小灯为例,是不是arr就是控制灯亮度变化快慢的一个参数,而pwmval就是控制灯亮度大小的一个参数?
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-8-11 13:11:36 | 显示全部楼层
魑魅魍魉 发表于 2017-8-11 11:57
依然按照我上面说的小灯为例,是不是arr就是控制灯亮度变化快慢的一个参数,而pwmval就是控制灯亮度大小 ...

我的理解是这样的   arr的值 应该是不变的  pwmval的值控制最大亮度和变化速度,pwmval的最大值控制最高亮度,pwmval的变化速率控制呼吸频率 ,最后arr的值大于等于pwmval的值
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-20 15:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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