STM32
直播中

贺服窍

7年用户 967经验值
私信 关注
[问答]

STM32F030进入Stop模式后进行RTC唤醒,MCU没有进入STOP模式,这个是什么原因啊?

STM32F030满足条件后配置RTC唤醒
void RTC_AlarmConfig(void)
{
RTC_timeTypeDef sTime = {0};
RTC_AlarmTypeDef sAlarm = {0};

/* Get current time */
HAL_RTC_GetTime( hrtc,  sTime, RTC_FORMAT_BIN);
sAlarm.AlarmTime.Hours = sTime.Hours;
sAlarm.AlarmTime.Minutes = sTime.Minutes;
  sAlarm.AlarmTime.Seconds = sTime.Seconds + 5;
sAlarm.AlarmTime.SubSeconds = 0;
sAlarm.AlarmTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
sAlarm.AlarmTime.StoreOperation = RTC_STOREOPERATION_RESET;
sAlarm.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY|RTC_ALARMMASK_HOURS
                       |RTC_ALARMMASK_MINUTES;//|RTC_ALARMMASK_SECONDS
sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_ALL;
sAlarm.AlarmDateWeekDaySel = RTC_ALARMDATEWEEKDAYSEL_DATE;
sAlarm.AlarmDateWeekDay = 1;
sAlarm.Alarm = RTC_ALARM_A;

if (HAL_RTC_SetAlarm_IT( hrtc,  sAlarm, RTC_FORMAT_BIN) != HAL_OK)
{
  Error_Handler();
}

}
然后调用HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI)进入STOP模式正常,但是RTC唤醒后第二次调用HAL_PWR_EnterSTOPMode函数发现MCU没有进入STOP模式,这个是什么原因啊?

回帖(1)

李晶

2024-4-16 10:45:19
检查一下哪个外设的中断标志是否没有清除
举报

更多回帖

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