你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

休眠醒一次后电流变大

[复制链接]
dozebug 提问时间:2018-3-20 10:05 /
用的是LL的库写的。 定时唤醒工作。进入STOP模式后,电流1微安以内, 但是醒过一次后电流就达到了10微安,并后面的进入STOP模式也是10。

经过测试,程序启动后先不进入STOP模式,等待一次RTC中断后再进入STOP模式,电流直接达到10。

void RTC_IRQHandler(void)
{
        if(LL_RTC_IsActiveFlag_WUT(RTC) )
        {
                LL_RTC_ClearFlag_WUT(RTC);
        }
        LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_20);
}



/* USER CODE BEGIN 1 */
void Start_RTC(void)
{
                /* Disable RTC registers write protection */
  LL_RTC_DisableWriteProtection(RTC);
       
          /* Disable wake up timer to modify it */
  LL_RTC_WAKEUP_Disable(RTC);
        while (LL_RTC_IsActiveFlag_WUTW(RTC) != 1)
  {
        }
       
        /* Setting the Wakeup time to RTC_WUT_TIME s
       If LL_RTC_WAKEUPCLOCK_CKSPRE is selected, the frequency is 1Hz,
       this allows to get a wakeup time equal to RTC_WUT_TIME s
       if the counter is RTC_WUT_TIME */
  LL_RTC_WAKEUP_SetAutoReload(RTC, 30);
  LL_RTC_WAKEUP_SetClock(RTC, LL_RTC_WAKEUPCLOCK_CKSPRE);

  /* Enable wake up counter and wake up interrupt */
  /* Note: Periodic wakeup interrupt should be enabled to exit the device
     from low-power modes.*/
  LL_RTC_EnableIT_WUT(RTC);
  LL_RTC_WAKEUP_Enable(RTC);

  /* Enable RTC registers write protection */
  LL_RTC_EnableWriteProtection(RTC);

  /* ######## ENTER IN STANDBY MODE ######################################*/
  /** Request to enter STANDBY mode
    * Following procedure describe in STM32L1xx Reference Manual
    * See PWR part, section Low-power modes, Standby mode
    */
        LL_EXTI_EnableIT_0_31(LL_EXTI_LINE_20);
        LL_EXTI_EnableRisingTrig_0_31(LL_EXTI_LINE_20);
  /* Reset Internal Wake up flag */
  LL_RTC_ClearFlag_WUT(RTC);
       
}


有人碰到过这个问题么??
收藏 评论5 发布时间:2018-3-20 10:05

举报

5个回答
dsjsjf 回答时间:2018-3-20 10:37:24
进入休眠前,把能关的外设关掉,IO口根据外部电路,设置成功耗最低的模式,通常是浮空输入

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

stm1024 回答时间:2018-3-20 10:48:06
会不会是有外设没有被唤醒,外部负载较小?试试切断所有的外设,然后在休眠唤醒试试看?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

bargagebaobei 回答时间:2018-3-20 10:57:52
有没有可能唤醒后有外设进入了工作状态,当你再次进入休眠又没有关掉它呢

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

dozebug 回答时间:2018-3-20 11:01:23
在RTC产生第一次中断前进入STOP模式,电流很小。  如果死等。一直到产生第一次中断以后再进入STOP。则电流变大。理论上和外设无关了吧。
中断函数如上。清了下标志,啥都没干
toofree 回答时间:2018-3-20 16:02:27
忽略你操作有问题,只LL库就够让人操心的。
前段时间,有坛友说STM32F103的GPIO高8位用LL库不受控,亲测的确是这样。
珍爱生命,远离LL
建议你用HAL或标准库再试一下

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版