• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32待机模式无法进入

7c685f356cbd7121 2020-07-18 浏览量:566
我的STM32应用工作流程是这样的,上电->工作->进入待机模式,30s定时RTC中断唤醒,以此循环。目前我的问题是,前几个小时工作/待机都是正常的,然后可能会出现一次进入待机失败,然后就再也进不去待机模式了,求解答/求指导
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 保持测试环境和变量参数的一致,防止有外部干扰导致运行异常。

    如果每次重启后,依然会每几小时就不能进入待机,看下程序中的RTC唤醒的设置参数这里,以及唤醒后的代码是否有问题。

    • 发布于 2020-07-19
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 待机模式不好调试也比较麻烦,你可以用串口打印的方式在程序关键点设置打印信息。然后到进不去的时候就能发现卡在哪一步了,

    也有可能是程序跑飞,进入错误中断,外部干扰大,这些也是有可能的

    • 发布于2020-07-18
    • 举报
    • 评论 1
    • 0
    • 0
7c685f356cbd7121 回复了 yhj416606438 :我使用串口打印来调试,发现执行了HAL_PWR_EnterSTANDBYMode()之后,程序向下进行,后面的程序执行log也被打印出来了 回复

7c685f356cbd7121 回复了 江湖老李 :进入之前关闭了所有触发源HAL_RTCEx_DeactivateWakeUpTimer(&hrtc),然后重新打开rtc中断 回复

  • 待机模式无法使用SWD调试,串口很可能也是关闭的,要检查待机模式的问题点,只能通过LED来指示程序运行的情况
    • 发布于2020-07-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 待机模式时,芯片的内部内核,调试功能都是停止的,都是不可用的,所以,无法进行仿真的,你可以通过串口来输出信息调试,与51类似的
    • 发布于2020-07-20
    • 举报
    • 评论 1
    • 0
    • 0
7c685f356cbd7121 回复了 莱克迷KW :我是用串口来打印调试的,发现执行完进入待机模式指令后,后面的程序继续执行了 回复

相关问题

问题达人换一批

STM32待机模式无法进入