zhy233090130 发表于 2020-2-14 12:30:29

STM32F030进入Stop模式后RTC唤醒问题

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模式,这个是什么原因啊?

butterflyspring 发表于 2020-3-4 14:41:30

检查一下哪个外设的中断标志是否没有清除:)
页: [1]
查看完整版本: STM32F030进入Stop模式后RTC唤醒问题