OpenEdv-开源电子网

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

如何随时改变PWM的输出频率?

[复制链接]

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
发表于 2016-7-27 17:27:09 | 显示全部楼层 |阅读模式
1金钱
如题,,,

最佳答案

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

动态改变PWM频率可以通过修改PSC(预分频器寄存器)的值实现。 频率 = 系统时钟周期/(TIM_Prescaler+1)/(TIM_Period+1) 不推荐修改重装载寄存器的值来实现修改频率,那样的话还要重新计算一次占空比对应的比较捕获寄存器的值
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-7-27
在线时间
19 小时
发表于 2016-7-27 17:27:10 | 显示全部楼层
动态改变PWM频率可以通过修改PSC(预分频器寄存器)的值实现。
频率 = 系统时钟周期/(TIM_Prescaler+1)/(TIM_Period+1)

不推荐修改重装载寄存器的值来实现修改频率,那样的话还要重新计算一次占空比对应的比较捕获寄存器的值
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
 楼主| 发表于 2016-7-27 18:40:52 | 显示全部楼层
可调的输出频率波。。怎么配置?
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-5-9
在线时间
2 小时
发表于 2016-7-27 18:44:17 | 显示全部楼层
改变ARR寄存器可以改变周期吧
回复

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-7-27
在线时间
19 小时
发表于 2016-7-27 18:53:38 | 显示全部楼层
Ecrhon 发表于 2016-7-27 18:50
动态改变PWM频率可以通过修改PSC(预分频器寄存器)的值实现。
频率 = 系统时钟周期/(TIM_Prescaler+1)/(TIM ...

手误,PWM频率 = 系统时钟频率/(TIM_Prescaler+1)/(TIM_Period+1)
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
 楼主| 发表于 2016-7-27 18:57:41 | 显示全部楼层
Ecrhon 发表于 2016-7-27 18:53
手误,PWM频率 = 系统时钟频率/(TIM_Prescaler+1)/(TIM_Period+1)

好主意,谢谢哈。我去试试
回复

使用道具 举报

22

主题

213

帖子

0

精华

高级会员

Rank: 4

积分
682
金钱
682
注册时间
2015-2-13
在线时间
74 小时
发表于 2016-7-28 11:03:58 | 显示全部楼层
Ecrhon 发表于 2016-7-27 18:53
手误,PWM频率 = 系统时钟频率/(TIM_Prescaler+1)/(TIM_Period+1)

应该是定时器的频率,有可能定时器的频率和系统频率不一样的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 11:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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