打印
[STM8]

紧急求助STM8S003 PWM问题

[复制链接]
1216|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2021-7-6 21:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
用TIM1输出100HZ方波,固定占空比为50%,现在我需要在接近上升沿和下降沿的位置加入一个小程序,但是输出方波的状态不清楚,我想了一个模拟的方法,用延时写个和TIM1输出的方波一样都是100HZ,然后在接近上下沿加入小程序即可,但是现在一个问题是,TIM1开始输出的方波是不确定性,所以没有办法写延时100HZ的起始电平

使用特权

评论回复
沙发
jiajs|  楼主 | 2021-7-6 21:12 | 只看该作者

使用特权

评论回复
板凳
pengf| | 2021-7-6 21:14 | 只看该作者
本身你说的那个接近就不好控制。

使用特权

评论回复
地板
yufe| | 2021-7-6 21:16 | 只看该作者
你可以考虑利用比较中断和更新中断在上沿和下沿时插入你要做的事情。

使用特权

评论回复
5
huangchui| | 2021-7-6 21:18 | 只看该作者
既然是100Hz,50%方波,就可以不需要PWM了吧

使用特权

评论回复
6
zhenykun| | 2021-7-6 21:19 | 只看该作者
你直接在把它们排在一起,顺序执行不就可以了吗?

使用特权

评论回复
7
jiajs|  楼主 | 2021-7-6 21:21 | 只看该作者
不行,有其他程序,而且PWM是互补带死区全桥波形,用定时器模拟的话,会造成频率严重抖动

使用特权

评论回复
8
llljh| | 2021-7-6 21:23 | 只看该作者
接近不行;
就上升沿或下降沿产生中断好了;

使用特权

评论回复
9
huangchui| | 2021-7-6 21:25 | 只看该作者
或者通过2路PWM,一路超前另一路多少相位的方式,并同时触发中断

使用特权

评论回复
10
jiajs|  楼主 | 2021-7-6 21:27 | 只看该作者
如果是边沿触发中断的话估计不行,因为我这个需要在占空比在45%的时候要运行其他程序。

使用特权

评论回复
11
juventus9554| | 2021-7-6 21:33 | 只看该作者
你可以用另外一个IO上升沿触发啊。

使用特权

评论回复
12
dengdc| | 2021-7-6 21:35 | 只看该作者
反正频率不高,你可以完全定时器做这个方波,然后就很容易在任何位置插入你的程序段了。

使用特权

评论回复
13
shimx| | 2021-7-6 21:37 | 只看该作者
可以加一级锁存器不

使用特权

评论回复
14
spark周| | 2021-7-6 21:39 | 只看该作者
个人感觉如果其他程序不干扰tim的话 应该无变化啊

使用特权

评论回复
15
zhaoxqi| | 2021-7-6 21:41 | 只看该作者

这个程序很不好写的

使用特权

评论回复
16
wyjie| | 2021-7-6 21:43 | 只看该作者
其他程序用定时器中断来调用不行吗

使用特权

评论回复
17
jiajs|  楼主 | 2021-7-6 21:45 | 只看该作者

嗯,预料中的结果,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝