TIM1 比较翻转模式下电平输出的随机性

[复制链接]
2458|8
 楼主| 玉骄龙 发表于 2013-8-16 16:08 | 显示全部楼层 |阅读模式
本帖最后由 玉骄龙 于 2013-8-16 16:11 编辑

大家都知道,STM32F的TIM1具有比较翻转模式,在这种工作模式下,CH1输出的方波与CH2输出的方波存在一个相位差的。
但是,如果我将TIM1_CH1的相位设为基准,只改变TIM1_CH2的比较值来改变相位,却发现CH2的输出电平会乱翻转的现象!
也就是:本应输出010101。。。的波形的,却变成了011010。。。因为有CH1的相位作参考,这种误翻转的现象很容易被发现。
这种电平误翻转的现象是随机发生的。要怎样来防止这种情况的发生呢?
尝试过好多办法仍未能解决,是否STM32F不能杜绝这种情况的发生?
 楼主| 玉骄龙 发表于 2013-8-18 08:33 | 显示全部楼层
自已顶起!不然就沉了!
airwill 发表于 2013-8-19 09:36 | 显示全部楼层
没有看明白什么问题. 是不是跟上升下降双向计数等模式也有关系
 楼主| 玉骄龙 发表于 2013-8-19 10:41 | 显示全部楼层
airwill 发表于 2013-8-19 09:36
没有看明白什么问题. 是不是跟上升下降双向计数等模式也有关系

你好!
TIM1有一种比较翻转输出功能,就是在计数器与比较器值相同时,将输出电平翻转。也就是由0变成1,或由1变成0.
本应该这样严格来出牌的。但在改变CH2的比较器的值后,CH1与CH2的就有可能乱套了。比如:CH1由0变成1时,CH2也应该由0变成1,但CH2也有可能不变还是0.没有一个严格的约束机制。
airwill 发表于 2013-8-19 12:14 | 显示全部楼层
那是因为计数器的当前值可能正好在 你改的值和原值之间
 楼主| 玉骄龙 发表于 2013-8-21 10:39 | 显示全部楼层
airwill 发表于 2013-8-19 12:14
那是因为计数器的当前值可能正好在 你改的值和原值之间

谢谢版主。实在找不到解决的办法,我只好放弃了这个方案了。
airwill 发表于 2013-8-21 10:52 | 显示全部楼层
不是吧, 换个更新模式就可以了嘛.
wolfhead318 发表于 2014-8-18 11:24 | 显示全部楼层
我也碰到这样的 误动作 怎么解决那 !是否可以通过优先级来 搞的?
18340362378 发表于 2019-9-7 16:23 | 显示全部楼层
我也遇到这个问题,搞得头晕
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部