OpenEdv-开源电子网

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

求助 pwm输出频率低于100HZ无波形

[复制链接]

16

主题

139

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1299
金钱
1299
注册时间
2016-10-18
在线时间
211 小时
发表于 2017-4-11 22:15:00 | 显示全部楼层 |阅读模式
5金钱
原子哥,我pwm输出当频率高于100hz时是有用的,但是低于100hz时就输出不了,请问为什么呢?
TIM3_PWM_Init(40000-1,21-1);        //84M/21=4Mhz的计数频率,重装载值1000,所以PWM频率为 4M/40000=100  hz.
TIM_SetCompare1(TIM3,20000);        //修改比较值,修改占空比
这样输出是有用的
但是
TIM3_PWM_Init(400000-1,21-1);        //84M/21=4Mhz的计数频率,重装载值1000,所以PWM频率为 4M/400000=10  hz.
TIM_SetCompare1(TIM3,200000);        //修改比较值,修改占空比

这样输出是很诡异的568hz
但是
TIM3_PWM_Init(200000-1,21-1);        //84M/21=4Mhz的计数频率,重装载值1000,所以PWM频率为 4M/200000=20  hz.
TIM_SetCompare1(TIM3,100000);        //修改比较值,修改占空比

这样输出是没有波形的,求助。

最佳答案

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

TIM3_PWM_Init(200000-1,21-1); 变量是u16类型的,你的200000超范围了 TIM_SetCompare1(TIM3,100000); 一样的超范围了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-11 22:15:01 | 显示全部楼层
TIM3_PWM_Init(200000-1,21-1);        变量是u16类型的,你的200000超范围了
TIM_SetCompare1(TIM3,100000);        一样的超范围了
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

16

主题

139

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1299
金钱
1299
注册时间
2016-10-18
在线时间
211 小时
 楼主| 发表于 2017-4-12 09:45:00 | 显示全部楼层
szczyb1314 发表于 2017-4-12 00:03
TIM3_PWM_Init(200000-1,21-1);        变量是u16类型的,你的200000超范围了
TIM_SetCompare1(TIM3,10000 ...

多谢回复,昨晚躺在床上我也想到了,还真是这个原因。不过还有一个很奇怪的地方,我在探索者板子上这样设置是有波形输出的……
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-12 09:49:24 | 显示全部楼层
faiz 发表于 2017-4-12 09:45
多谢回复,昨晚躺在床上我也想到了,还真是这个原因。不过还有一个很奇怪的地方,我在探索者板子上这样设 ...

探索者F4的PWM初始化是U32类型的,没超范围
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

16

主题

139

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1299
金钱
1299
注册时间
2016-10-18
在线时间
211 小时
 楼主| 发表于 2017-4-12 10:39:54 | 显示全部楼层
szczyb1314 发表于 2017-4-12 09:49
探索者F4的PWM初始化是U32类型的,没超范围

我也是初始化u32类型的,我翻到寄存器里看,arr寄存器是16位的
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-12 10:51:05 | 显示全部楼层
还真的是,定义跟说明不符
111.jpg
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

16

主题

139

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1299
金钱
1299
注册时间
2016-10-18
在线时间
211 小时
 楼主| 发表于 2017-4-12 10:54:04 | 显示全部楼层
szczyb1314 发表于 2017-4-12 10:51
还真的是,定义跟说明不符

哈哈 对的吧……所以很奇怪我的探索者怎么就出来了
难道是因为我用的芯片是stm32f407VGT6而探索者是ZGT6?
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-4-12 10:57:04 | 显示全部楼层
faiz 发表于 2017-4-12 10:54
哈哈 对的吧……所以很奇怪我的探索者怎么就出来了
难道是因为我用的芯片是stm32f407VGT6而探索者是ZGT6 ...

没用过F4的,不过这个问题也不用太纠结。可能是手册跟这个说明有误(估计人家是根据F1系列抄来的吧)。自己用的时候知道就行了
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

16

主题

139

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1299
金钱
1299
注册时间
2016-10-18
在线时间
211 小时
 楼主| 发表于 2017-4-12 11:06:38 | 显示全部楼层
szczyb1314 发表于 2017-4-12 10:57
没用过F4的,不过这个问题也不用太纠结。可能是手册跟这个说明有误(估计人家是根据F1系列抄来的吧)。自 ...

谢谢
回复

使用道具 举报

16

主题

139

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1299
金钱
1299
注册时间
2016-10-18
在线时间
211 小时
 楼主| 发表于 2017-4-12 12:57:08 | 显示全部楼层
szczyb1314 发表于 2017-4-12 10:51
还真的是,定义跟说明不符

我知道了,定时器3和定时器4的arr是16位,定时器2和定时器5是32位,所以用定时器2的时候是可以的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-14 02:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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