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

[复制链接]
 楼主| pengf 发表于 2021-8-6 22:33 | 显示全部楼层 |阅读模式
大家都知道,STM32F的TIM1具有比较翻转模式,在这种工作模式下,CH1输出的方波与CH2输出的方波存在一个相位差的。
但是,如果我将TIM1_CH1的相位设为基准,只改变TIM1_CH2的比较值来改变相位,却发现CH2的输出电平会乱翻转的现象!
也就是:本应输出010101。。。的波形的,却变成了011010。。。因为有CH1的相位作参考,这种误翻转的现象很容易被发现。
这种电平误翻转的现象是随机发生的。要怎样来防止这种情况的发生呢?
 楼主| pengf 发表于 2021-8-6 22:35 | 显示全部楼层
尝试过好多办法仍未能解决,是否STM32F不能杜绝这种情况的发生?
zhaoxqi 发表于 2021-8-6 22:38 | 显示全部楼层
没有看明白什么问题. 是不是跟上升下降双向计数等模式也有关系
 楼主| pengf 发表于 2021-8-6 22:40 | 显示全部楼层
TIM1有一种比较翻转输出功能,就是在计数器与比较器值相同时,将输出电平翻转。也就是由0变成1,或由1变成0.
zhanghqi 发表于 2021-8-6 22:42 | 显示全部楼层
本应该这样严格来出牌的
jlyuan 发表于 2021-8-6 22:47 | 显示全部楼层
但在改变CH2的比较器的值后,CH1与CH2的就有可能乱套了
zwll 发表于 2021-8-6 22:50 | 显示全部楼层
CH1由0变成1时,CH2也应该由0变成1,但CH2也有可能不变还是0.没有一个严格的约束机制。
llljh 发表于 2021-8-6 22:52 | 显示全部楼层
那是因为计数器的当前值可能正好在 你改的值和原值之间
 楼主| pengf 发表于 2021-8-6 22:53 | 显示全部楼层
实在找不到解决的办法,我只好放弃了这个方案了。
jiajs 发表于 2021-8-6 22:55 | 显示全部楼层
不是吧, 换个更新模式就可以了嘛.
songqian17 发表于 2021-8-6 22:57 | 显示全部楼层
我也碰到这样的 误动作 怎么解决那 !是否可以通过优先级来 搞的?
 楼主| pengf 发表于 2021-8-6 23:00 | 显示全部楼层

唉,还是没有什么结果,算了,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

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