求助,HC32L021如何从休眠唤醒休眠修改为唤醒不休眠
请教一下大佬们,HC32L021如何从LPM_GotoSleep(TRUE)休眠唤醒休眠修改为唤醒不休眠,我在中断里面执行LPM_GotoSleep(FALSE);中断退出后就卡住了,请问在中断里如何配置退出后不再进入休眠。你应该对着手册再仔细研究下,并不是说LPM_GotoSleep(TRUE)这个函数里的形参TRUE就是休眠唤醒,把形参改成FALSE,就是休眠不唤醒。他们都是休眠唤醒,只是唤醒后对代码的执行会不一样。 本帖最后由 dffzh 于 2025-7-17 15:16 编辑
没用过这个MCU,但是我找资料并简单看了一下LPM_GotoSleep函数,里面其实主要就是配置SCB系统控制块的SCR系统控制寄存器:
SCR寄存器的SLEEPDEEP和SLEEPONEXIT两个bit位的解释如下:
然后可以仿真看下,出中断程序卡死在什么地方;这个LPM_GotoSleep函数不在中断里执行,换到main里通过加标志位执行来试试;
以上的内容希望可以帮助到你。
如果还没搞定,可以回复我,帮你再看下。
我们是小华FAE,有问题联系我17327196220 dffzh 发表于 2025-7-17 14:52
没用过这个MCU,但是我找资料并简单看了一下LPM_GotoSleep函数,里面其实主要就是配置SCB系统控制块的SCR系 ...
谢谢大佬,已经搞定了,原来是在仿真状态进不了低功耗 wubangmi 发表于 2025-7-17 13:58
你应该对着手册再仔细研究下,并不是说LPM_GotoSleep(TRUE)这个函数里的形参TRUE就是休眠唤醒,把形参改成FAL ...
换芯有点仓促,手册就简单的看了一下,解决了,是对片子不太了解 恋爱只谈章若楠 发表于 2025-7-17 17:21
我们是小华FAE,有问题联系我17327196220
好的,后续有不了解的再请教你,才接触你们家芯片 在中断中用LPM_GotoSleep(FALSE)清除休眠标志; 主循环中通过标志位控制,不再主动调用LPM_GotoSleep(TRUE); 必要时恢复系统时钟,确保唤醒后外设正常工作。 确保唤醒中断的优先级高于其他非紧急中断,且标志位操作无需临界段保护 休眠模式的配置需要在中断退出前生效
页:
[1]