为了降低功耗,该如何进入wait模式,且要保持对外部中断的功能,以测量随机突发脉冲的宽度?

2019-07-19 20:51发布

最近碰到一个问题:为了测量随机突发的脉冲宽度,我使用TIM1的输入捕捉功能可以正常测量连续的脉冲宽度,但为了在待机时降低功耗,想让单片机进入WAIT模式,
请问:
1.使用寄存器编程时,该如何让单片机进入WAIT模式?
2.当单片机进入WAIT模式后,是否可以由外部的随机脉宽(只有一次)来触发脉宽测量(也就是保持正常运行时的测量方式),这个方式可行吗?

兄弟刚刚接触STM8S,不是很熟悉,但是经过几天的使用,感觉用IAR FOR STM8S + ST LINK/V2 + 最小系统板开发起来真的非常爽!

谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
fankai
1楼-- · 2019-07-19 22:14
 精彩回答 2  元偷偷看……
dasuantou
2楼-- · 2019-07-20 03:29
本帖最后由 dasuantou 于 2017-3-27 20:13 编辑
fankai 发表于 2017-3-27 19:54
进入WAIT可以使用WFE ,WFI,使用wait for event 模式,唤醒源可以有定时器中断,你的突发脉冲输入捕获就可以 ...

感谢兄弟的及时回复!

我去看看手册来理解你说的,现在脉宽测量是没有问题了,我还得看看如何用C语言来实现WFE、WFI、WAIT FOR EVENT模式。
现在用的是STM8S003F3P6。

请问:是不是上电后,我使用软件让单片机进入WFE、WFI任意一个模式,这样单片机就进入了WAIT模式,以后等外部脉冲来了,就自动触发TIM1上升沿中断,并接下来测量脉宽,此时,单片机进入了正常运行状态?我使用寄存器编程。

再次感谢!

fankai
3楼-- · 2019-07-20 04:34
 精彩回答 2  元偷偷看……
dasuantou
4楼-- · 2019-07-20 05:05
fankai 发表于 2017-3-27 21:07
对的,唤醒之后就进入正常模式了,你测完脉冲处理完相关的逻辑,就可以再次进入WFE,节省功耗了

这个功能不错,感谢STM8大神!

一周热门 更多>