STM32/STM8技术论坛
直播中

王燕

7年用户 1679经验值
私信 关注
[问答]

stm32程序在什么时候唤醒中断?

main()
{
      ...
      ...
      for(;;)
      {
           _BIS_SR(LPM3_bits);
           _nop();
       }
}

#pragma vector=PORT1_VECTOR

__interrupt void getKeyValue(void)

{
       P2OUT^=0x01;
}

可以看到,在主程序中,有一个for循环,里面基本上没什么操作。就是进入到低功耗模式。按照我的理解,进入到低功耗模式后,CPU便停在那个地方等待中断,当有中断的时候,进入中断。
我不太明白的是:程序在什么时候唤醒中断?

回帖(13)

王芳

2018-11-12 16:02:09
是不是还要有专门的唤醒的函数?
举报

杨平

2018-11-12 16:03:21
中断后自动便把CPU唤醒了?
举报

贾埃罗

2018-11-12 16:04:06
中断发生后,便自动把CPU唤醒。在我以上的程序中,进入中断后对P2.0取反,然后退出中断,回到主程序,但是因为主程序中是一个无限循环for,因此这时候又会再次进入低功耗模式。
举报

李娜

2018-11-12 16:04:16
中断信号应该就是唤醒信号吧
举报

李娜

2018-11-12 16:04:24
再说也没有人会在中断程序里面写上睡眠指令的!
举报

王强

2018-11-12 16:04:35
中断发生后,应该自动把CPU唤醒的吧
举报

张鹏

2018-11-12 16:04:46
这个中断的处理还是很关键的
举报

王浩

2018-11-12 16:05:22
程序被唤醒的主要是中断的
举报

刘超

2018-11-12 16:05:46
这个要合理的配置系统的低功耗模式的
举报

王波

2018-11-12 16:08:21
中断发生就会唤醒,执行中断程序,执行完回到主程序,主程序之前是执行了休眠,现在回来接着执行后面的内容,如果后面没有,那就重头开始执行。
举报

杨丽

2018-11-12 16:08:32
看你怎么设置了。你是想让系统什么时候唤醒。
举报

杨勇

2018-11-12 16:08:39
貌似是io口中断唤醒
举报

王霞

2018-11-12 16:08:49
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

更多回帖

发帖
×
20
完善资料,
赚取积分