OpenEdv-开源电子网

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

stm32 的timer1输出PWM的死区问题,能不能死区设置成高电平? TIM_OCIdleState这个是设置什么的?

[复制链接]

50

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2014-8-24
在线时间
146 小时
发表于 2015-5-11 15:57:06 | 显示全部楼层 |阅读模式
5金钱
我的IPM模块是低电平导通的,我需要死区设置成高电平,结果怎么改,死区都是低电平
TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Set; //死区后输出状态
TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCIdleState_Set; //死区后互补端输出状态

是改这两句么?

一共不就4种可能么,我都改了,都是低电平死区啊,这个是官方固定的么?


TIM_OCIdleState这个设置的是什么?

最佳答案

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

回复【5楼】烟酒不沾: --------------------------------- 我用的PWM2, 最后采用的方法是, TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low; TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;  令CCR=周期值减去sin表里面的值,下午电机已经转起来了~ 谢谢啦!
找一份喜欢的工作,这样每天工作的8个小时是快乐的。 找一个喜欢的人,这样每天工作之外的16个小时也是快乐的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

50

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2014-8-24
在线时间
146 小时
 楼主| 发表于 2015-5-11 15:57:07 | 显示全部楼层
回复【5楼】烟酒不沾:
---------------------------------
我用的PWM2,
最后采用的方法是,
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;
TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low; 
令CCR=周期值减去sin表里面的值,下午电机已经转起来了~

谢谢啦!
找一份喜欢的工作,这样每天工作的8个小时是快乐的。 找一个喜欢的人,这样每天工作之外的16个小时也是快乐的。
回复

使用道具 举报

50

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2014-8-24
在线时间
146 小时
 楼主| 发表于 2015-5-11 16:11:59 | 显示全部楼层
真心不知道这两句是设置什么的?
不管怎么设置,死区都不改变。

如果
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_High;
则死区始终为低电平。

如果
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;
TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;
则死区始终为高电平
找一份喜欢的工作,这样每天工作的8个小时是快乐的。 找一个喜欢的人,这样每天工作之外的16个小时也是快乐的。
回复

使用道具 举报

50

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2014-8-24
在线时间
146 小时
 楼主| 发表于 2015-5-11 16:17:09 | 显示全部楼层
库里面的官方解释是:  
uint16_t TIM_OCIdleState;   /*!< Specifies the TIM Output Compare pin state during Idle state.
                                   This parameter can be a value of @ref TIM_Output_Compare_Idle_State
                                   @note This parameter is valid only for TIM1 and TIM8. */

指定在空闲状态下的TIM输出比较引脚的状态。仅供TIM1和TIM8有效。

这个所谓的比较引脚是?
找一份喜欢的工作,这样每天工作的8个小时是快乐的。 找一个喜欢的人,这样每天工作之外的16个小时也是快乐的。
回复

使用道具 举报

50

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2014-8-24
在线时间
146 小时
 楼主| 发表于 2015-5-11 16:19:21 | 显示全部楼层
在网上找到一份说明:
输出比较极性的指的是你在比较匹配之后输出口输出的极性。这个函数就是让你设置有效极性,也就是设置比较输出的有效电平。你可以设置为高电平有效或者低电平有效。如果设置为高电平有效,那么当定时器比较匹配之后,输出口输出高电平,否则就反一下。


但是timer1的死区设置有没有什么设置死区极性的地方啊?
找一份喜欢的工作,这样每天工作的8个小时是快乐的。 找一个喜欢的人,这样每天工作之外的16个小时也是快乐的。
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2015-5-11 16:41:20 | 显示全部楼层
你现在用的是PWM的模式是PWM1还是PWM2, WM模式换个试试看,
回复

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2015-6-17
在线时间
8 小时
发表于 2015-12-9 09:50:49 | 显示全部楼层
还是没有搞清TIM_OCIdleState的意思啊?
回复

使用道具 举报

10

主题

147

帖子

0

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2015-7-11
在线时间
94 小时
发表于 2016-12-3 16:53:55 | 显示全部楼层
学习一下!!!
回复

使用道具 举报

bingoyang 该用户已被删除
发表于 2017-5-3 17:15:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

2

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2017-5-3
在线时间
37 小时
发表于 2017-5-17 11:58:26 | 显示全部楼层
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;       
TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;   
输出极性翻转!
回复

使用道具 举报

5

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2017-4-27
在线时间
58 小时
发表于 2018-2-5 17:22:56 | 显示全部楼层
参考手册里的极性与使能控制: 图78  捕获/ 比较通道的输出部分(通道1至3)
参考手里的空闲状态控制:表75  带刹车功能的互补输出通道OCx 和OCxN的控制位
回复

使用道具 举报

4

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-1-25
在线时间
16 小时
发表于 2020-3-12 16:40:20 | 显示全部楼层
死区也有高低电平,第一次听说。。。
诚交各路大侠
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-22 10:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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