OpenEdv-开源电子网

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

STM32F103RCT6的TIM2定时和TIIM1输出PWM波不能同时工作

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-10-17
在线时间
2 小时
发表于 2016-10-17 19:39:10 | 显示全部楼层 |阅读模式
TIM2定时器单独工作正常,TIM1输出PWM波单独工作也正常,两个同时工作,PWM就无法正常输出,谁有遇到过相似的问题?怎么解决的?原因是什么?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

46

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1131
金钱
1131
注册时间
2016-11-9
在线时间
97 小时
发表于 2016-11-27 15:10:46 | 显示全部楼层
我也遇到同样的问题,希望高人指点一二,我的是TIM3定时器单独工作正常,TIM1的CH1通道输出PWM波单独工作也正常,两个同时工作,PWM就无法正常输出了,我就是想把原子的定时器中断实验和PWM波输出实验放在一起使用一下,结果就不行了
回复 支持 反对

使用道具 举报

9

主题

46

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1131
金钱
1131
注册时间
2016-11-9
在线时间
97 小时
发表于 2016-11-27 15:54:43 | 显示全部楼层
学习阶段 发表于 2016-11-27 15:10
我也遇到同样的问题,希望高人指点一二,我的是TIM3定时器单独工作正常,TIM1的CH1通道输出PWM波单独工作也 ...

我用试了一下TIM2 4 5这三个定时器,结果是定时器和PWM波都可以正常,只有TIM3不可以,为什么呢,是TIM3和TIM1有什么资源共用了吗?可是不是说1到8这8个定时器都是独立的吗?
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-10-17
在线时间
2 小时
 楼主| 发表于 2016-11-29 15:03:08 | 显示全部楼层
学习阶段 发表于 2016-11-27 15:54
我用试了一下TIM2 4 5这三个定时器,结果是定时器和PWM波都可以正常,只有TIM3不可以,为什么呢,是TIM3 ...

问题解决了,主函数里先初始化PWM,再初始化定时器,就可以同时正常工作,反过来,先初始化定时器,再初始化PWM,就不能同时工作了。
回复 支持 反对

使用道具 举报

5

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2016-11-29
在线时间
24 小时
发表于 2016-11-29 18:47:40 | 显示全部楼层
又学了一招!
回复 支持 反对

使用道具 举报

9

主题

46

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1131
金钱
1131
注册时间
2016-11-9
在线时间
97 小时
发表于 2016-11-30 07:43:42 | 显示全部楼层
主函数里先初始化PWM,再初始化定时器,和先初始化定时器,再初始化PWM,有什么不同的地方吗?他们是相互独立的,应该是谁先初始化都不影响啊,查出来,是哪里不同了吗?我的TIM2,4,5即使先初始化定时器,再初始化PWM一样可以正常工作,只有TIM3,不可以,你说的这个,我一会试验一下,谢谢分享
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
168
金钱
168
注册时间
2016-5-20
在线时间
25 小时
发表于 2016-12-1 13:49:29 | 显示全部楼层
中断优先级配置对了吗
回复 支持 反对

使用道具 举报

26

主题

280

帖子

1

精华

高级会员

Rank: 4

积分
908
金钱
908
注册时间
2013-8-2
在线时间
279 小时
发表于 2016-12-1 13:57:42 | 显示全部楼层
顺序上有问题,应该是说明PWM代码没有写好,有类似于"DeInit()"的函数把前面的定时器配置修改了。
博客:http://blog.csdn.net/feilusia
CC2541群(127442605);CC2640群(557278427);
Android群(541462902);STM8/STM32群(164311667);
Linux群(512598061);职场交流群(450154342);
回复 支持 反对

使用道具 举报

2

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2011-5-15
在线时间
147 小时
发表于 2016-12-16 09:30:14 | 显示全部楼层
feilusia 发表于 2016-12-1 13:57
顺序上有问题,应该是说明PWM代码没有写好,有类似于"DeInit()"的函数把前面的定时器配置修改了。

DeInit(TIM3),会改变TIM1的配置吗?
回复 支持 反对

使用道具 举报

26

主题

280

帖子

1

精华

高级会员

Rank: 4

积分
908
金钱
908
注册时间
2013-8-2
在线时间
279 小时
发表于 2016-12-16 09:34:25 | 显示全部楼层
chunglin 发表于 2016-12-16 09:30
DeInit(TIM3),会改变TIM1的配置吗?

不会,如果楼主包含了Deinit(TIM1)就会,得看楼主有没有编写驱动错误的地方。
博客:http://blog.csdn.net/feilusia
CC2541群(127442605);CC2640群(557278427);
Android群(541462902);STM8/STM32群(164311667);
Linux群(512598061);职场交流群(450154342);
回复 支持 反对

使用道具 举报

2

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2011-5-15
在线时间
147 小时
发表于 2016-12-16 10:02:07 | 显示全部楼层
feilusia 发表于 2016-12-16 09:34
不会,如果楼主包含了Deinit(TIM1)就会,得看楼主有没有编写驱动错误的地方。

驱动没有错误
这个问题我之前也遇到过,要先初始化PWM,再初始化定时器才能正常工作。
回复 支持 反对

使用道具 举报

10

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2015-6-2
在线时间
22 小时
发表于 2016-12-16 11:57:04 | 显示全部楼层
先初始化PWM,再初始化定时器就能正常工作,并没有说出问题的根本啊
我还需努力,因为我还没做到持之以恒
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-12-12
在线时间
10 小时
发表于 2016-12-16 21:55:28 | 显示全部楼层
路过,学习!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 07:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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