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

休眠醒一次后电流变大

[复制链接]
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个回答
埃斯提爱慕 回答时间:2018-3-20 10:37:24
提示: 作者被禁止或删除 内容自动屏蔽
STM1024 回答时间:2018-3-20 10:48:06
会不会是有外设没有被唤醒,外部负载较小?试试切断所有的外设,然后在休眠唤醒试试看?

评分

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

查看全部评分

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

评分

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

查看全部评分

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

评分

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

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版