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

请教如何改变stm32L0的RTC的wakeup time?

[复制链接]
蜘蛛侦探 提问时间:2021-4-27 13:40 / 未解决
stm32L0的RTC的wakeup time在RTC初始化为固定值,有时希望这个wakeup time可以改变,请教大家如何才能成功改变?

初始化代码如下,没有问题

static void MX_RTC_Init(void)
{

  /* USER CODE BEGIN RTC_Init 0 */

  /* USER CODE END RTC_Init 0 */

  /* USER CODE BEGIN RTC_Init 1 */

  /* USER CODE END RTC_Init 1 */
  /** Initialize RTC Only
  */
  hrtc.Instance = RTC;
  hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
  hrtc.Init.AsynchPrediv = 127;
  hrtc.Init.SynchPrediv = 255;
  hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
  hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE;
  hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
  hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
  if (HAL_RTC_Init(&hrtc) != HAL_OK)
  {
    Error_Handler();
  }
  /** Enable the WakeUp
  */
  if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 59, RTC_WAKEUPCLOCK_CK_SPRE_16BITS) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN RTC_Init 2 */

  /* USER CODE END RTC_Init 2 */

}

改变的代码如下,不成功

HAL_RTCEx_DeactivateWakeUpTimer(&hrtc);

__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);

HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, g_UT_SleepTime, RTC_WAKEUPCLOCK_CK_SPRE_16BITS);


收藏 评论3 发布时间:2021-4-27 13:40

举报

3个回答
xmshao 回答时间:2021-4-27 16:06:49
看来你是用RTC模块中的专门的周期性唤醒单元做低功耗唤醒。这个地方唤醒时间肯定是可以调整的。不知你现在RTC本身跑起来没有,如果没有先将RTC跑起来。
如果说RTC已经正常工作了,不妨调整下唤醒时间的长短,针对你现在情况,不妨改长点,别太短了感觉不到唤醒过程。

蜘蛛侦探 回答时间:2021-4-28 22:03:47
xmshao 发表于 2021-4-27 16:06
看来你是用RTC模块中的专门的周期性唤醒单元做低功耗唤醒。这个地方唤醒时间肯定是可以调整的。不知你现在R ...

RTC能够正常跑起来,低功耗动作也完全正常,但想改时间却一直不成功,所以来这里请教一下
李康1202 回答时间:2021-4-29 18:15:43
RTC失能再使能试一下

所属标签

相似问题

官网相关资源

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