[STM8] 紧急求助STM8S003 PWM问题

[复制链接]
1728|14
 楼主| 自己和自己玩 发表于 2019-1-9 13:59 | 显示全部楼层 |阅读模式
QQ截图20190109134831.png
我用TIM1输出100HZ方波,固定占空比为50%,现在我需要在接近上升沿和下降沿的位置加入一个小程序,但是输出方波的状态不清楚,我想了一个模拟的方法,用延时写个和TIM1输出的方波一样都是100HZ,然后在接近上下沿加入小程序即可,但是现在一个问题是,TIM1开始输出的方波是不确定性,所以没有办法写延时100HZ的起始电平,各位大神帮我看下,感谢。
香水城 发表于 2019-1-9 16:57 | 显示全部楼层
本身你说的那个接近就不好控制。
你可以考虑利用比较中断和更新中断在上沿和下沿时插入你要做的事情。
 楼主| 自己和自己玩 发表于 2019-1-9 17:17 | 显示全部楼层
好的,感谢感谢,我再研究一下
qiangtech 发表于 2019-1-9 17:30 | 显示全部楼层
既然是100Hz,50%方波,就可以不需要PWM了吧,你直接在把它们排在一起,顺序执行不就可以了吗?
 楼主| 自己和自己玩 发表于 2019-1-9 17:33 | 显示全部楼层
qiangtech 发表于 2019-1-9 17:30
既然是100Hz,50%方波,就可以不需要PWM了吧,你直接在把它们排在一起,顺序执行不就可以了吗? ...

不行,有其他程序,而且PWM是互补带死区全桥波形,用定时器模拟的话,会造成频率严重抖动
mmuuss586 发表于 2019-1-9 17:44 | 显示全部楼层
接近不行;
就上升沿或下降沿产生中断好了;

或者通过2路PWM,一路超前另一路多少相位的方式,并同时触发中断
 楼主| 自己和自己玩 发表于 2019-1-9 17:47 | 显示全部楼层
mmuuss586 发表于 2019-1-9 17:44
接近不行;
就上升沿或下降沿产生中断好了;

如果是边沿触发中断的话估计不行,因为我这个需要在占空比在45%的时候要运行其他程序。
wanduzi 发表于 2019-1-9 19:41 | 显示全部楼层
你可以用另外一个IO上升沿触发啊。
wanduzi 发表于 2019-1-9 19:42 | 显示全部楼层
反正频率不高,你可以完全定时器做这个方波,然后就很容易在任何位置插入你的程序段了。

评论

估计不行的,我现在用了定时器了,我再开定时器波形会抖动,而且我要输出2路互补带死区方波  发表于 2019-1-9 19:57
磨砂 发表于 2019-2-1 11:46 | 显示全部楼层
可以加一级锁存器不
晓伍 发表于 2019-2-1 12:05 | 显示全部楼层
个人感觉如果其他程序不干扰tim的话 应该无变化啊
八层楼 发表于 2019-2-1 12:12 | 显示全部楼层
这个程序很不好写的
guanjiaer 发表于 2019-2-1 12:44 | 显示全部楼层
自己和自己玩 发表于 2019-1-9 17:33
不行,有其他程序,而且PWM是互补带死区全桥波形,用定时器模拟的话,会造成频率严重抖动 ...

其他程序用定时器中断来调用不行吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

82

帖子

0

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