打印

任意地方退出低功耗

[复制链接]
723|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2016-6-28 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
进入中断,相关寄存器入栈,退出出栈,如果MCU先进入了低功耗,比如LPM3,那么执行一个ISR,如果没有调用编译器自带的“退出低功耗”语句,MCU仍然保持低功耗。可是,问题来了,程序里面有好几个地方需要退出低功耗,部分是在自己写的函数中,这些函数在中断中被调用。我希望在自己函数中执行“退出低功耗语句”,遗憾的是这不行,只能在中断函数主体中调用该语句,否则是退不出低功耗的。
  大虾们,有何良策可以在任意地方退出低功耗啊?

相关帖子

沙发
zhanghqi| | 2016-6-28 19:39 | 只看该作者
自己产生一个中断,在那个中断里面去执行退低功耗函数

使用特权

评论回复
板凳
zhenykun| | 2016-6-28 19:39 | 只看该作者
感觉这个方法不太妥。

使用特权

评论回复
地板
jiajs|  楼主 | 2016-6-28 19:40 | 只看该作者
看了下249的中断向量,有17个向量是保留的,可不可以利用上啊?

使用特权

评论回复
5
zhenykun| | 2016-6-28 19:40 | 只看该作者
有类此ARM的SCALL指令?

使用特权

评论回复
6
wyjie| | 2016-6-28 19:40 | 只看该作者

LPM3就是程序中定义好的自带的直接进入低功耗模式3的语句的啦,直接调用的

使用特权

评论回复
7
jlyuan| | 2016-6-28 19:40 | 只看该作者
推出的话,跟这个相似,你在仿真软件里面查找一下LMP3的,是可以查到相关的

使用特权

评论回复
8
jiajs|  楼主 | 2016-6-28 19:41 | 只看该作者
嗯,我知道了,多谢啊

使用特权

评论回复
9
mmbs| | 2016-7-2 00:08 | 只看该作者
这种退出机制不太好。

使用特权

评论回复
10
mmbs| | 2016-7-2 00:10 | 只看该作者
容易造成芯片死机的。

使用特权

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

本版积分规则

940

主题

11975

帖子

6

粉丝