[STM32F1] 什么时候唤醒中断?

[复制链接]
768|16
 楼主| zwll 发表于 2020-8-28 22:34 | 显示全部楼层 |阅读模式
main()
{
     ...
     ...
     for(;;)
     {
          _BIS_SR(LPM3_bits);
          _nop();
      }
}

#pragma vector=PORT1_VECTOR

__interrupt void getKeyValue(void)

{
      P2OUT^=0x01;
}

可以看到,在主程序中,有一个for循环,里面基本上没什么操作。就是进入到低功耗模式。按照我的理解,进入到低功耗模式后,CPU便停在那个地方等待中断,当有中断的时候,进入中断。
llia 发表于 2020-8-28 22:41 | 显示全部楼层
是不是还要有专门的唤醒的函数?
huanghuac 发表于 2020-8-28 22:45 | 显示全部楼层
中断后自动便把CPU唤醒了?
 楼主| zwll 发表于 2020-8-28 22:49 | 显示全部楼层
中断发生后,便自动把CPU唤醒。在我以上的程序中,进入中断后对P2.0取反,然后退出中断,回到主程序,但是因为主程序中是一个无限循环for,因此这时候又会再次进入低功耗模式。
pengf 发表于 2020-8-28 22:54 | 显示全部楼层
中断信号应该就是唤醒信号吧
liuzaiy 发表于 2020-8-28 23:01 | 显示全部楼层
再说也没有人会在中断程序里面写上睡眠指令的!
xxmmi 发表于 2020-8-28 23:08 | 显示全部楼层
中断发生后,应该自动把CPU唤醒的吧
zyf部长 发表于 2020-8-28 23:12 | 显示全部楼层
这个中断的处理还是很关键的
wenfen 发表于 2020-8-28 23:15 | 显示全部楼层
程序被唤醒的主要是中断的
dingy 发表于 2020-8-28 23:19 | 显示全部楼层
这个要合理的配置系统的低功耗模式的
dingy 发表于 2020-9-1 19:20 | 显示全部楼层
这个就是在有硬件的按键产生的中断的
chenjunt 发表于 2020-9-1 19:24 | 显示全部楼层
这个任何一个有效的应用都能拉起中断才行的
llia 发表于 2020-9-1 19:28 | 显示全部楼层
中断发生就会唤醒,执行中断程序,执行完回到主程序,主程序之前是执行了休眠,现在回来接着执行后面的内容,如果后面没有,那就重头开始执行。
wenfen 发表于 2020-9-1 19:31 | 显示全部楼层
看你怎么设置了。你是想让系统什么时候唤醒。
pengf 发表于 2020-9-1 19:35 | 显示全部楼层
貌似是io口中断唤醒
houcs 发表于 2020-9-1 19:40 | 显示全部楼层
配置中断 就唤醒了!
 楼主| zwll 发表于 2020-9-1 19:43 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

885

主题

11314

帖子

5

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