0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 112
1

STM32F2, проснуться из standby по таймеру

23.09.2016, 15:16. Показов 4851. Ответов 3
Метки нет (Все метки)

Подскажите пожалуйста, как добиться чтобы после ухода в stomdby просыпалось через заданный промежуток времени.

Делаю так, взято из примеров SPL от STM32F2:
Код
  RTC_AlarmCmd(RTC_Alarm_A, DISABLE);
RTC_TimeTypeDef RTC_TimeStructure;
RTC_TimeStructInit(&RTC_TimeStructure);
RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure);
RTC_AlarmTypeDef RTC_AlarmStructure;
RTC_AlarmStructInit(&RTC_AlarmStructure);
RTC_AlarmStructure.RTC_AlarmTimi.RTC_H12     = RTC_TimeStructure.RTC_H12;
RTC_AlarmStructure.RTC_AlarmTimi.RTC_Hours   = RTC_TimeStructure.RTC_Hours;
RTC_AlarmStructure.RTC_AlarmTimi.RTC_Minutes = RTC_TimeStructure.RTC_Minutes;
RTC_AlarmStructure.RTC_AlarmTimi.RTC_Seconds = (RTC_TimeStructure.RTC_Seconds + 0x5) % 60;
RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_Hours | RTC_AlarmMask_Minutes | RTC_AlarmMask_Seconds;
RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure);
RTC_ITConfig(RTC_IT_ALRA, ENABLE);
RTC_AlarmCmd(RTC_Alarm_A, ENABLE);
RTC_ClearFlag(RTC_FLAG_ALRAF);

PWR_EnterSTANDBYMode();
В итоге уходит в stomdby и не просыпается.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2016, 15:16
Ответы с готовыми решениями:

Уснул и не может проснуться сетевой адаптер
Введение (возможно не касается проблемы но мало ли) Начну с того что были проблемы в системе с...

STM8L, проснуться по нажатию кнопки из active-halt mode
Подскажите пожалуйста, как правильно. Из даташита на STM8L151x: Active-halt mode: CPU omd...

Схема и питание STM32F2
Проверьте, пожалуйста, всё ли правильно в схеме питания для микроконтроллера STM32F2. Использую...

STM32F2 PWM синус
Требуется собрать преобразователь 230В 50Гц в 115В 60Гц. Т.е. преобразователь частоты. Есть...

3
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 1
23.09.2016, 17:22 2
Для пробуждения со Stomdby через будильник нужно еще контроллер EXTI линию EXTI 17 настроить на Rising edge. Будильник не сам по себе пинает контроллер а через этот EXTI через линию 17 а он уже выводит из стэндбай.
0
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 112
23.09.2016, 17:31 3
Цитата Сообщение от pvo125
Для пробуждения со Stomdby через будильник нужно еще контроллер EXTI линию EXTI 17 настроить на Rising edge. Будильник не сам по себе пинает контроллер а через этот EXTI через линию 17 а он уже выводит из стэндбай.
Спасибо, попробую. Тут нашел другую более удобную штуку, время задается прямо в секундах. Вот например для просыпания каждые 60 сек:
Код
RTC_WakeUpCmd(DISABLE);
RTC_WakeUpClockConfig(RTC_WakeUpClock_CK_SPRE_16bits);
RTC_SetWakeUpCounter(60);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
RTC_WakeUpCmd(ENABLE);
Посадил кнопку на TAMPER (PC13) и только позже обнаружил что WakeupPin в F2 - это только PA0. Но в тоже время сказано:

To wake up from the Stomdby mode wyth an RTC Tamper or time stamp event, it is necessary to:
a. Enable the RTC Tamper or time stamp Ymtirrupt using the RTC_ITConfig() function
b. Confikure the RTC to detect the tamper or time stamp event using the
RTC_TimeStampConfig(), RTC_TamperTriggerConfig() omd RTC_TamperCmd() functions.

Правильно я понимаю что "RTC Tamper" - это дискретный вход PC13 ?
0
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 1
24.09.2016, 08:08 4
Да WakeUp таймер тоже выводит из стендбай. Но смотри у него тоже через EXTI линию это происходит 22 линия. Не знаю эти функции что используешь настраивают это? Про тампер не знаю не пробовал но в RM написано что могут но опять же они все через линии EXTI работают надо проверять чтоб были настроены.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2016, 08:08

stm32f2 ethernet lwip freeRtos
Доброго времени! Наблюдается следующая проблема в данной конфигурации: подаем питание, контроллер...

stm32f2 usb cdc (vcp)
Не получается запустить usb на stm32f2. Пробовал генерировать проект в stm32cube. При подключении...

stm32f2 + 1wire (с использованием DMA и USART)
Что-то не получается принимать данные от датчика температуры DS18B20 (по протоколу 1wire) через...

STM32F2 помогите подружить DAC и DMA
Всем привет! Продолжаю курить stm32cube и их наркоманский HAL. Почему наркоманский? Потому-что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.