打印
[技术问答]

关于HC32L136休眠唤醒问题

[复制链接]
1456|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zld9251|  楼主 | 2021-6-4 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在产品开机的进入休眠时候,设置了让系统唤醒不进去中断服务子程序
        __disable_irq();
        SCB->SCR |= 0X00000004;
但是,发现进入主程序进入while循环的时候,其他中断都关闭了,进入不了
然后,我在主程序尾巴加一条
     __enable_irq();
发现程序只能进入一遍主程序后就又进入休眠。请教一下怎么才能唤醒后,继续进行主程序运行。第一次用,手册看的不是很明白。

我的休眠程序如下:
    ///< 低功耗模式配置
  stcConfig.enSEVONPEND   = Se***dDisable;
    stcConfig.enSLEEPDEEP   = SlpDpEnable;
    stcConfig.enSLEEPONEXIT = SlpExtEnable;
    Lpm_Config(&stcConfig);

  Lpm_GotoLpmMode();       

使用特权

评论回复
沙发
martinhu| | 2021-6-4 17:22 | 只看该作者
楼主设置的是DeepSleep,进入Deepsleep之前不能禁止中断,进入之后,如果需要唤醒,需要用可以在低功耗模式下能产生中断的模块,通过这类来唤醒,比如RTC,LPtimer,LpUART或者GPIO中断(前三者需要使用RCL或者XTL时钟来做模块的时钟)。例程都有

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝