OpenEdv-开源电子网

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

求教定时器2,3,5同时工作时输入3路PWM的问题

[复制链接]

4

主题

8

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2011-6-1
在线时间
0 小时
发表于 2011-7-20 17:21:32 | 显示全部楼层 |阅读模式

我同时打开3个定时器时,只有定时器3能输出PWM,定时器2,5输出的都是直流。而屏蔽掉定时器5之后,定时器2,3都能输出PWM。或者屏蔽掉定时器2,定时器3,5也能输出PWM。
屏蔽掉定时器3,定时器2,5只能输出直流。不知道是不是定时器5和定时器2有冲突还是什么原因,求各位解答一下。下面是配置的PWM代码
RCC->APB2ENR |= 1<<2;  //使能A端口时钟
GPIOA->CRL   &= 0X0FFFFF00;  //推挽输出PA1,PA0,PA7
GPIOA->CRL   |= 0XB00000BB;
GPIOA->ODR   |= 0X0083;  //上拉
TIM_BaseInit(TIM2,1027,6);  //10k的PWM
TIM_BaseInit(TIM3,1199,1);  //30k的PWM
TIM_BaseInit(TIM5,2000,2);  //50k的PWM
TIM2->CCMR1  |= 0X6<<12;  //PWM1模式
TIM2->CCMR1  |= 1<<11;   //快速预装载使能
TIM2->CR1    = 0X0080;  //使能自动重装载的值
TIM2->CCMR1  &= ~(3<<8);  //CH2配置为输出
TIM2->CCR2  = CCR_Val1;
TIM2->CCER   |= 1<<4;   //输出比较使能
TIM2->CCER   |= ~(1<<5);   //输出极性高电平有效

TIM3->CCMR1  |= 0X6<<12;  //PWM1模式
TIM3->CCMR1  |= 1<<11;   //快速预装载使能
TIM3->CR1    = 0X0080;  //使能自动重装载的值
TIM3->CCMR1  &= ~(3<<8);  //CH2配置为输出
TIM3->CCR2  = CCR_Val2;
TIM3->CCER   |= 1<<4;   //输出比较使能
TIM3->CCER   |= ~(1<<5);   //输出极性高电平有效

TIM5->CCMR1  |= 0X6<<4;  //PWM1模式
TIM5->CCMR1  |= 1<<3;   //快速预装载使能
TIM5->CR1    = 0X0080;  //使能自动重装载的值
TIM5->CCMR1  &= ~(3<<0);  //CH1配置为输出
TIM5->CCR1  = CCR_Val3;
TIM5->CCER   |= 1<<0;   //输出比较使能
TIM5->CCER   |= ~(1<<1);   //输出极性高电平有效
TIMx_Enable(TIM5);
TIMx_Enable(TIM3);
TIMx_Enable(TIM2);

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-20 18:03:23 | 显示全部楼层
回复【楼主位】z658290:
---------------------------------
软件仿真一下.看看执行到那步,寄存器值发生了什么变化.跟踪一下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2011-7-2
在线时间
3 小时
发表于 2011-7-21 10:44:28 | 显示全部楼层
TIMER-1: 定时器上溢。 
TIMER-2: 强置输出模式。 
TIMER-3: 输出比较模式。 
TIMER-4: WM1模式。 
TIMER-5: 输入捕获模式(结果硬件仿真观察)。 
TIMER-6: WM输入模式。 
TIMER-7: 单脉冲模式。 
TIMER-8: TIMER2作为TIMER3的分频器,即TIMER3的时钟由TIMER2提供。 
TIMER-9: TIMER2使能TIMER3(时钟都用内部时钟,两个非同步)。 
TIMER-10: TIMER2启动TIMER3(时钟都用内部时钟,两个非同步)。 
TIMER-11: TIMER4的通道1同时出发TIMER4和TIMER3两个定时器。
是不是只支持两路PWM输出?!!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 18:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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