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

STM32进入StandBy状态的疑问

Spirit 2018-10-15 浏览量:1438

我使用的是HAL库

__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); //清除唤醒位​
HAL_PWR_EnterSTANDBYMode();

如果不写第一句的话,进入待机状态立刻复位。

不太明白,清除唤醒位与进入待机状态有关系吗?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 应该是可以的吧,flag 在哪里清楚都一样,我找到你这个函数原型,你看看清楚之后到你进 standbymode,这段时间是不是又产生了 flag,确认一下,或者写个代码检测一下。

    这个flag 可以有以下几个情况产生,排查一下

    1.png

    • 发布于 2018-10-15
    • 举报
    • 评论 1
    • 1
    • 0
Spirit 回复了 robe_zhang:谢谢!看得不仔细。原来闹钟也会产生这个标志。 回复

其他答案 数量:7
  • 唤醒位就是把单片机从休眠状态/待机状态 唤醒的。不清楚唤醒位,系统一直保持唤醒状态,进休眠后立马唤醒,保持不住休眠状态。

    开着闹钟让他睡觉,逗他玩的嘛

    • 发布于2018-10-15
    • 举报
    • 评论 2
    • 0
    • 0
Spirit 回复了 robe_zhang :一上电就清除唤醒位也不行,必须在进入待机前清除。何解? 回复
robe_zhang 回复了 robe_zhang :我看官方的历程,清 flag 和 进standby,也不是紧挨着,都没事 回复

  • 进入待机状态时本来不应该有唤醒信号的,就是之前的唤醒信号需要清除掉,不然就会一直触发唤醒
    • 发布于2018-10-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 待机状态是可以清楚你的唤醒标志的,但是这样就不能唤醒你的单片机了
    • 发布于2018-10-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 感觉应该跟系统运行机制有关系,不清除唤醒位的话一定会复位。
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个一个跟你的状态有关系,要及时清除你的中断状态
    • 发布于2018-11-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个状态是跟你的唤醒标志有关系,可以通过这个清除
    • 发布于2018-11-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32进入StandBy状态的疑问