[技术问答] 如何在省电模式中,唤醒后但不进中断处理?

[复制链接]
847|8
 楼主| zhuotuzi 发表于 2019-8-31 23:27 | 显示全部楼层 |阅读模式
在进入省电模式之前,用户可以藉由呼叫下列函数
__disable_irq();
禁用 IRQ 处理,使得系统在唤醒之后,会接续执行进入省电模式的下一笔指令,而不会进入中断处理程序。
除此之外,用戶还需要注意以下几点 :
  • 用户需要 __WFI 函數後面加上函數
          __ISB();
          清除管线预先抓取的指令,使得接续的指令能被正确的抓取并且执行。
  • 写 ”1” 到 NVIC_ICPR 将对应的 IRQ 处理挂起清除。
  • 将中断旗帜清除。

 楼主| zhuotuzi 发表于 2019-8-31 23:27 | 显示全部楼层
这个经验非常好,转来。
wahahaheihei 发表于 2019-8-31 23:30 | 显示全部楼层
这个方法好,可以避免不必要的中断发生
天灵灵地灵灵 发表于 2019-9-8 23:28 | 显示全部楼层
这样还可以中断唤醒?
天灵灵地灵灵 发表于 2019-9-8 23:28 | 显示全部楼层
只是唤醒后不处理中断函数?
wahahaheihei 发表于 2019-9-8 23:53 | 显示全部楼层
很奇怪,关闭后,中断还能唤醒吗
mintspring 发表于 2019-9-9 00:02 | 显示全部楼层
好方法,试试看。
yiyigirl2014 发表于 2019-9-11 00:27 | 显示全部楼层
如果关闭的话,还会触发中断唤醒吗
heisexingqisi 发表于 2019-9-15 23:53 | 显示全部楼层
先试试看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

214

主题

3375

帖子

7

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