×

Внимание

Форум находится в режиме только для чтения.

[STM32F2xx] IWDG + Standby mode

11 года 7 мес. назад #4167 от rudy
rudy ответил в теме Re: [STM32F2xx] IWDG + Standby mode
Денис, а почему вы используете alarm, а не wakeup, который явно удобнее? Не нужно считывать текущее время и т.д.

Это просто так или есть какие-то проблемы с  wakeup? Я тут пробовал с ним поиграться, но что-то не получается и как-то странно не получается. Вы с  wakeup не работали?
9 года 10 мес. назад #5816 от Alena
Alena ответил в теме Re: [STM32F2xx] IWDG + Standby mode

В общем, сделал.
8)

Нашёл ещё ошибку в библиотеках версии 1.0.0. (для F4 семейства)

У них вход в режим STandBy осуществляется так:


00548 void PWR_EnterSTANDBYMode(void)
00549 {
00550  /* Clear Wakeup flag */
00551  PWR->CR |= PWR_CR_CWUF;
00552 
00553  /* Select STANDBY mode */
00554  PWR->CR |= PWR_CR_PDDS;
00555 
00556  /* Set SLEEPDEEP bit of Cortex System Control Register */
00557  SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
00558 
00559 /* This option is used to ensure that store operations are completed */
00560 #if defined ( __CC_ARM  )
00561  __force_stores();
00562 #endif
00563  /* Request Wait For Interrupt */
00564  __WFI();
00565 }


В то время как в мануале для входа записано:

WFI (Wait for Interrupt) or WFE (Wait for Event) while:
– Set SLEEPDEEP bit in Cortex™-M4F System Control register
Clear PDDS bit in Power Control register (PWR_CR)
– Select the voltage regulator mode by configuring LPDS bit in PWR_CR


По сей причине код долго не запускался.
после замены на это:
  SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
  PWR->CR &= ~PWR_CR_PDDS;
  PWR->CR |= PWR_CR_CWUF;
  __WFI();


Всё заработало.

проект во вложении.
В папку с проектом - вложить папку со стандартными библиотеками F4. Всё заработает.


Краткое описание проекта.
1. инициируем порты со светодиодами (на F4Discovery)
2. запускаем RTC
3. Ставим будильник по которому проснётся контроллер через 5 секунд.
4. входим в режим STandBy
5. спим 5 секунд
6. по просыпании возвращаем тактовую частоту на место
7. Продолжаем издеваться над светодиодами.

Примерно так.

Вложения:
9 года 10 мес. назад #5817 от Alena
Alena ответил в теме Re: [STM32F2xx] IWDG + Standby mode

Денис Ягов пишет: Добавил к проекту Сторожевую собаку. Чтоб веселее было.  ;)

Вложения:
Время создания страницы: 0.039 секунд
Работает на Kunena форум