STM32/STM8技术william hill官网
直播中

刘明

7年用户
私信 关注
[问答]

使用CubeMX库解决STM32L151低功耗RTC唤醒

受到警告
提示: 作者被禁止或删除 内容自动屏蔽

回帖(10)

刘明

2018-12-20 09:11:06
RTC配置代码
void MX_RTC_Init(void)
{
  RTC_TimeTypeDef sTime;
  RTC_DateTypeDef sDate;

    /**Initialize RTC Only
    */
  hrtc.Instance = RTC;
  hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
  hrtc.Init.AsynchPrediv = 99;
  hrtc.Init.SynchPrediv = 369;
  hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
  hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
  hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
  if (HAL_RTC_Init(&hrtc) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

    /**Initialize RTC and set the Time and Date
    */
  if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0) != 0x32F2){
  sTime.Hours = 0x9;
  sTime.Minutes = 0x30;
  sTime.Seconds = 0x30;
  sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
  sTime.StoreOperation = RTC_STOREOPERATION_RESET;
  if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  sDate.WeekDay = RTC_WEEKDAY_MONDAY;
  sDate.Month = RTC_MONTH_JANUARY;
  sDate.Date = 0x1;
  sDate.Year = 0x0;

  if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

    HAL_RTCEx_BKUPWrite(&hrtc,RTC_BKP_DR0,0x32F2);
  }
    /**Enable the WakeUp
    */
  if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 8200, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

}
举报

张君

2018-12-20 09:11:25
不用的 GPIO 端口改成输出低电平试试
举报

刘明

2018-12-20 09:27:16
SOS在线等
举报

周棠亨

2018-12-20 09:40:42
这么大电流,通常是IO口没设置模拟输入,或者某个时钟没关掉
举报

周棠亨

2018-12-20 09:48:13
另外,禁用休眠调试功能
举报

刘明

2018-12-20 10:03:53
谢谢各位,问题已经解决
举报

刘明

2018-12-20 10:18:47
stop模式电流1UA,standby模式下电流更小
举报

华意仆

2018-12-20 10:35:49
引用: cnkjw 发表于 2018-12-20 10:40
stop模式电流1UA,standby模式下电流更小

楼主怎么解决的,我最近也碰到了这个问题,端脚的模式也模拟输入了。。。
举报

lee_st

2018-12-21 00:19:57
又是垃圾库啊
举报

lee_st

2018-12-21 00:20:14
被坑过,再也不用
举报

更多回帖

发帖
×
20
完善资料,
赚取积分