[技术问答] 求助,HC32L021如何从休眠唤醒休眠修改为唤醒不休眠

[复制链接]
 楼主| szxm 发表于 2025-7-16 20:25 | 显示全部楼层 |阅读模式
请教一下大佬们,HC32L021如何从LPM_GotoSleep(TRUE)休眠唤醒休眠修改为唤醒不休眠,我在中断里面执行LPM_GotoSleep(FALSE);中断退出后就卡住了,请问在中断里如何配置退出后不再进入休眠。
wubangmi 发表于 2025-7-17 13:58 | 显示全部楼层
你应该对着手册再仔细研究下,并不是说LPM_GotoSleep(TRUE)这个函数里的形参TRUE就是休眠唤醒,把形参改成FALSE,就是休眠不唤醒。他们都是休眠唤醒,只是唤醒后对代码的执行会不一样。
dffzh 发表于 2025-7-17 14:52 | 显示全部楼层
本帖最后由 dffzh 于 2025-7-17 15:16 编辑

没用过这个MCU,但是我找资料并简单看了一下LPM_GotoSleep函数,里面其实主要就是配置SCB系统控制块的SCR系统控制寄存器:
6616368789ce0822bf.png
SCR寄存器的SLEEPDEEP和SLEEPONEXIT两个bit位的解释如下:
8401668789d2a00ade.png
然后可以仿真看下,出中断程序卡死在什么地方;这个LPM_GotoSleep函数不在中断里执行,换到main里通过加标志位执行来试试;
以上的内容希望可以帮助到你。
如果还没搞定,可以回复我,帮你再看下。
恋爱只谈章若楠 发表于 2025-7-17 17:21 | 显示全部楼层
我们是小华FAE,有问题联系我17327196220
 楼主| szxm 发表于 2025-7-18 18:15 | 显示全部楼层
dffzh 发表于 2025-7-17 14:52
没用过这个MCU,但是我找资料并简单看了一下LPM_GotoSleep函数,里面其实主要就是配置SCB系统控制块的SCR系 ...

谢谢大佬,已经搞定了,原来是在仿真状态进不了低功耗

评论

找到问题就好,仿真时接着仿真器,应该是进不了低功耗,即使可以进,其功耗也会比较大。  发表于 2025-7-21 09:03
 楼主| szxm 发表于 2025-7-18 18:21 | 显示全部楼层
wubangmi 发表于 2025-7-17 13:58
你应该对着手册再仔细研究下,并不是说LPM_GotoSleep(TRUE)这个函数里的形参TRUE就是休眠唤醒,把形参改成FAL ...

换芯有点仓促,手册就简单的看了一下,解决了,是对片子不太了解
 楼主| szxm 发表于 2025-7-18 18:22 | 显示全部楼层
恋爱只谈章若楠 发表于 2025-7-17 17:21
我们是小华FAE,有问题联系我17327196220

好的,后续有不了解的再请教你,才接触你们家芯片

评论

后续可以直接加我微信,就这个手机号就可以  发表于 2025-7-21 09:38
t60yz 发表于 2025-7-24 01:32 | 显示全部楼层
在中断中用LPM_GotoSleep(FALSE)清除休眠标志;
t60yz 发表于 2025-7-24 01:32 | 显示全部楼层
主循环中通过标志位控制,不再主动调用LPM_GotoSleep(TRUE);
t60yz 发表于 2025-7-24 01:33 | 显示全部楼层
必要时恢复系统时钟,确保唤醒后外设正常工作。
t60yz 发表于 2025-7-24 01:54 | 显示全部楼层
确保唤醒中断的优先级高于其他非紧急中断,且标志位操作无需临界段保护
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

2

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