OpenEdv-开源电子网

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

【求助】STM32F103的一个Timer可以输出多路频率不同(可控)的PWM波吗?

[复制链接]

26

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-5-30
在线时间
93 小时
发表于 2016-1-19 08:46:05 | 显示全部楼层 |阅读模式
5金钱
如题:同学问我这个,一下子傻了,虽然用过stm32,但是没机会用PWM,特寻熟悉的人解答。

另:STM32库中io文件中,定时器的部分映射,全部映射怎么理解?谢谢

[mw_shl_code=applescript,true]  *     @arg GPIO_PartialRemap_TIM1      : TIM1 Partial Alternate Function mapping
  *     @arg GPIO_FullRemap_TIM1         : TIM1 Full Alternate Function mapping
  *     @arg GPIO_PartialRemap1_TIM2     : TIM2 Partial1 Alternate Function mapping
  *     @arg GPIO_PartialRemap2_TIM2     : TIM2 Partial2 Alternate Function mapping
  *     @arg GPIO_FullRemap_TIM2         : TIM2 Full Alternate Function mapping
  *     @arg GPIO_PartialRemap_TIM3      : TIM3 Partial Alternate Function mapping
  *     @arg GPIO_FullRemap_TIM3         : TIM3 Full Alternate Function mapping[/mw_shl_code]

最佳答案

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

1、 模拟的就是你用GPIO拉高拉低再配合延时实现,当然频率占空比啥的配合延时时间自己算就行了, 不过用软件延时产生PWM是在不是什么高明的做法,我宁愿再重画板子改到不同的TIM模块也不要用GPIO模拟 2、 STM32F103系列的引脚除了GPIO外,复用功能除了默认复用外还可以是重映射复用,详细描述请参考RM0008.pdf的第九章:9.3 Alternate function I/O and debug configuration (AFIO) 扯淡的就来了,如果我只想重映射 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-1-19 08:46:06 | 显示全部楼层
1、
模拟的就是你用GPIO拉高拉低再配合延时实现,当然频率占空比啥的配合延时时间自己算就行了,
不过用软件延时产生PWM是在不是什么高明的做法,我宁愿再重画板子改到不同的TIM模块也不要用GPIO模拟

2、
STM32F103系列的引脚除了GPIO外,复用功能除了默认复用外还可以是重映射复用,详细描述请参考RM0008.pdf的第九章:9.3 Alternate function I/O and debug configuration (AFIO)

remap.png


扯淡的就来了,如果我只想重映射TIM3_CH1行不行?
寄存器告诉你:不行,要么重映射CH1和CH2,要么CH1-CH4全都给重映射了,
并且STM32美其名曰:不重映射(no remap)、部分重映射(partial remap)、全部重映射(full remap)。。。


到了STM32F4就好多了,直接上引脚复用矩阵,每个引脚有16种复用方式,而且各个引脚相互独立


坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

20

主题

468

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1684
金钱
1684
注册时间
2014-2-25
在线时间
230 小时
发表于 2016-1-19 11:08:09 | 显示全部楼层
软件模拟可以,硬件产生的话应该不行。
回复

使用道具 举报

26

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-5-30
在线时间
93 小时
 楼主| 发表于 2016-1-19 16:28:56 | 显示全部楼层
1201yuge 发表于 2016-1-19 11:08
软件模拟可以,硬件产生的话应该不行。

模拟的也行,就是没路的频率可以控制吗?
回复

使用道具 举报

26

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-5-30
在线时间
93 小时
 楼主| 发表于 2016-1-19 17:39:20 | 显示全部楼层
xkwy 发表于 2016-1-19 16:45
1、
模拟的就是你用GPIO拉高拉低再配合延时实现,当然频率占空比啥的配合延时时间自己算就行了,
不过用 ...

谢谢回答。

1、103的硬件的能否产生多路频率可变的PWM?
2、讲的很清晰
回复

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2016-1-19 17:47:40 | 显示全部楼层
时基决定频率,楼主可以开脑洞变相实现,毕竟需求只有你清楚。
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-1-19 17:57:18 | 显示全部楼层
天山狐狸 发表于 2016-1-19 17:39
谢谢回答。

1、103的硬件的能否产生多路频率可变的PWM?

一个定时器只有一个MOD寄存器和一个CNT寄存器,
所以4个通道频率一定是一样的,占空比可不同
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

26

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-5-30
在线时间
93 小时
 楼主| 发表于 2016-1-19 18:20:11 | 显示全部楼层
xkwy 发表于 2016-1-19 17:57
一个定时器只有一个MOD寄存器和一个CNT寄存器,
所以4个通道频率一定是一样的,占空比可不同

嗯,明白了

谢谢啦。。。
回复

使用道具 举报

26

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-5-30
在线时间
93 小时
 楼主| 发表于 2016-1-19 18:21:27 | 显示全部楼层
emWin 发表于 2016-1-19 17:47
时基决定频率,楼主可以开脑洞变相实现,毕竟需求只有你清楚。

嗯,还是硬件的比较好。。

软件的或者变相的去实现变频,不是很好
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 16:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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