OpenEdv-开源电子网

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

关于PWM波输出的一个小问题。

[复制链接]

29

主题

91

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2015-4-24
在线时间
37 小时
发表于 2016-3-8 15:37:13 | 显示全部楼层 |阅读模式
1金钱
void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState),在进行PWM波输出配置的时候,遇到这个函数,不知道啥意思..而且我无论使能与否都有输出,Enables or disables the TIM peripheral Main Outputs. ST库是这样描述的,我有点疑惑,希望大伙帮忙解答一下,这个函数的具体作用是什么,

最佳答案

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

通过跟踪其库函数源码不难发现,其最终是为了操作TIM->BDTR[MOE]这个寄存器位, 它是主输出使能,相当于PWM输出的总开关,只有它有效,PWM才会有输出。 但是,这个功能只有在高级定时器(TIM1、TIM8)中才会有, 在其他定时器中根本找不到这个寄存器的(没有总开关,由各个分开关直接控制) 我猜测你使用的一定不是TIM1,所以这个位设置与否没什么用, 可以尝试一下使用TIM1,会有效果的 ------不正经的 ...
一起学,一起进步,未来总有你我的一片天空……
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-8 15:37:14 | 显示全部楼层
通过跟踪其库函数源码不难发现,其最终是为了操作TIM->BDTR[MOE]这个寄存器位,

b.png

它是主输出使能,相当于PWM输出的总开关,只有它有效,PWM才会有输出。

但是,这个功能只有在高级定时器(TIM1、TIM8)中才会有,
在其他定时器中根本找不到这个寄存器的(没有总开关,由各个分开关直接控制)

no.png

我猜测你使用的一定不是TIM1,所以这个位设置与否没什么用,
可以尝试一下使用TIM1,会有效果的



------不正经的分割线------

z (17).jpg
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

29

主题

91

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2015-4-24
在线时间
37 小时
 楼主| 发表于 2016-3-8 17:47:21 | 显示全部楼层
明白,谢谢了,
一起学,一起进步,未来总有你我的一片天空……
回复

使用道具 举报

11

主题

94

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2016-12-12
在线时间
55 小时
发表于 2017-4-21 10:14:39 | 显示全部楼层
xkwy 发表于 2016-3-8 15:37
通过跟踪其库函数源码不难发现,其最终是为了操作TIM->BDTR[MOE]这个寄存器位,

精彩的回答,尤其是分割线之后的!!
回复

使用道具 举报

8

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2016-12-30
在线时间
37 小时
发表于 2017-4-21 14:57:16 | 显示全部楼层
帮顶。。。。。。。。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-21 23:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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