您尚未登录。

楼主 #1 2019-03-08 10:47:32

钱泰多
会员
注册时间: 2018-08-08
已发帖子: 42
积分: 42

stm32F103定时器问题

timer1 能同时用来产生定时器中断 和  输出2路pwm吗?

离线

楼主 #2 2019-03-18 12:58:11

钱泰多
会员
注册时间: 2018-08-08
已发帖子: 42
积分: 42

Re: stm32F103定时器问题

是可以的,定时器中断和pwm输出并不冲突,只是频率只能设置一样的

离线

#3 2019-03-18 13:55:04

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1318.5

Re: stm32F103定时器问题

请教,每个定时器的四个PWM通道是固定IO口的,如果我想使任意IO口输出PWM波,能不能用定时器的PWM功能但不产生输出,而是我自己设置IO口?

离线

#4 2019-03-20 23:23:03

Wufeng
会员
注册时间: 2019-03-15
已发帖子: 4
积分: 4

Re: stm32F103定时器问题

没有该复用功能的引脚不可以

离线

#5 2019-03-21 08:48:06

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1318.5

Re: stm32F103定时器问题

Wufeng 说:

没有该复用功能的引脚不可以

试了下,可以在定时器更新中断和比较中断里分别置位/复位IO口,达到自己指定IO口PWM输出。

离线

楼主 #6 2019-03-22 18:34:30

钱泰多
会员
注册时间: 2018-08-08
已发帖子: 42
积分: 42

Re: stm32F103定时器问题

Gentlepig 说:
Wufeng 说:

没有该复用功能的引脚不可以

试了下,可以在定时器更新中断和比较中断里分别置位/复位IO口,达到自己指定IO口PWM输出。

挺新奇的做法,学习了

离线

#7 2019-03-24 01:01:37

Quotation
会员
注册时间: 2018-10-04
已发帖子: 296
积分: 264.5

Re: stm32F103定时器问题

Gentlepig 说:

请教,每个定时器的四个PWM通道是固定IO口的,如果我想使任意IO口输出PWM波,能不能用定时器的PWM功能但不产生输出,而是我自己设置IO口?

想了个用DMA的方法也许可行,不占用CPU时间。
用定时器驱动DMA,再利用GPIO BSRR寄存器,交替设置IO口高低电平。

比如要用定时器控制PF3做PWM,首先
uint32_t src[2] = { GPIO_Pin_3, GPIO_Pin_3<<16 };
DMA目标设为src,DMA目标是&GPIOF->BSRR。循环DMA模式。
用定时器的PWM或update等驱动DMA运行,这样DMA向BSRR循环写入两个值,从而让PF3循环切换高低。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn