打印
[STM32F1]

一个定时器可以同时输出多路PWM吗?

[复制链接]
1334|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dengdc|  楼主 | 2017-9-22 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在需要多路PWM输出,STM32F103的定时器都有PWM功能,现在问题是一个定时器可以同时输出多路PWM吗?
沙发
zhanghqi| | 2017-9-22 23:02 | 只看该作者

什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
dengdc|  楼主 | 2017-9-22 23:03 | 只看该作者
比如TIM3CH3,TIM3CH4,该如何设置,另外如果一个定时器TIM1用于1ms定时中断,如果同时又要有PWM输出,TIM1CH4,请问定时中断功能和PWM输出会受到影响吗。

使用特权

评论回复
地板
zhenykun| | 2017-9-22 23:06 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
5
dengdc|  楼主 | 2017-9-22 23:08 | 只看该作者
因为做PWM输出时,根据实际情况会不停地调整pwm的脉宽,也就是会不停地改变装载值CCR的值(改变CCR值配置需不需要关闭定时器或者重新触发计数?),在改变设置时会不会对定时器有影响(暂时停止工作或者重新启动计数?)

使用特权

评论回复
6
wyjie| | 2017-9-22 23:09 | 只看该作者

为什么不用两个定时器?

使用特权

评论回复
7
jlyuan| | 2017-9-22 23:12 | 只看该作者

你说不停调整脉宽是说占空比还是周期?

使用特权

评论回复
8
yszong| | 2017-9-22 23:13 | 只看该作者
不停是停多久?这个很重要

使用特权

评论回复
9
heweibig| | 2017-9-22 23:15 | 只看该作者
频率过高肯定有影响!F103那么多定时器,换一个不就好了

使用特权

评论回复
10
wuhany| | 2017-9-22 23:20 | 只看该作者

一个定时器可以同时输出多路PWM

使用特权

评论回复
11
jiahy| | 2017-9-22 23:21 | 只看该作者
对,通常每个都有4路PWM,高级定时器可以输出8个PWM

使用特权

评论回复
12
lizye| | 2017-9-22 23:24 | 只看该作者
一个定时器TIM1用于1ms定时中断,就不要同时要求PWM输出, 貌似做不到这样的功能。

使用特权

评论回复
13
dengdc|  楼主 | 2017-9-22 23:25 | 只看该作者
看了资料,感觉应该都是可以的,我这个需要很多路PWM,几个定时器都用到了,我看库文件中调整脉宽直接用

使用特权

评论回复
14
shimx| | 2017-9-22 23:27 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
15
dengdc|  楼主 | 2017-9-22 23:29 | 只看该作者

void TIM_SetCompare2(TIM_TypeDef* TIMx, u16 Compare2)
{
  /* Check the parameters */
  assert_param(IS_TIM_123458_PERIPH(TIMx));

  /* Set the Capture Compare2 Register value */
  TIMx->CCR2 = Compare2;
}

使用特权

评论回复
16
jiaxw| | 2017-9-22 23:31 | 只看该作者
貌似只需要直接修改CCR的值就可以,这样的话,那么一个定时同时输出几路应该没问题

使用特权

评论回复
17
dengdc|  楼主 | 2017-9-22 23:34 | 只看该作者
1个定时器同时产生1ms中断和PWM输出应该也没问题吧?

使用特权

评论回复
18
spark周| | 2017-9-22 23:37 | 只看该作者

EGR之类的应该不需要再置位

使用特权

评论回复
19
liliang9554| | 2017-9-22 23:39 | 只看该作者

一个定时器用来定时中断,一个用来做PWM

使用特权

评论回复
20
dengdc|  楼主 | 2017-9-22 23:40 | 只看该作者
嗯,那我按大家的说法挨个排查一下,先结贴啦,谢谢哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

粉丝