Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Изучил немного RTC stm32F030C8

Непрочитано 15.11.2016, 23:18  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

NewWriter, выходит что нужно бит PWR-›CSR |= PWR_CSR_EWUP1; прописывать а не 2-ой? И тогда только РА0 будет пробуждать? Я хочю сейчас и кнопкой проверить, и потом через RTC. Сам механизм хочу понять.
Реклама:
miwutka вне форума  
Непрочитано 15.11.2016, 23:18  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Сообщение от AR_Favorit Посмотреть сообщение
Если систик работает, это не STOP
в Standby систик работает, да?
настроил еще и А0 на просыпание. Флаг поднимается и всё... ща почитаю Progr. manual...

Последний раз редактировалось miwutka; 15.11.2016 в 23:22.
miwutka вне форума  
Непрочитано 15.11.2016, 23:23  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Сообщение от miwutka Посмотреть сообщение
в Standby систик работает, да?
настроил еще и А0 на просыпание. Флаг поднимается и всё... ща почитаю Progr. manual...
систик работает только в sleep
AR_Favorit вне форума  
Непрочитано 15.11.2016, 23:25  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

В стэндбае не работает ваапще ничего, кроме низкочастотоного генератора, если он разрешен. Отключены даже все выводы, содержимое всех регистров и ОЗУ теряется. Остаются включенными регистры бэкапа, в них можно сохранять какую-то небольшую инфу (этих регистров очень мало) и ножка PA0. После возобновления работы МК начинает работу со сброса и начальной инициализации.
Зато потребление в этом режиме минимально.

Сообщение от miwutka Посмотреть сообщение
выходит что нужно бит PWR-›CSR |= PWR_CSR_EWUP1;
Да.
Причем, саму ножку PA0 желательно либо притянуть к земле внешним резистором, или переключить ее в режим input PD (притянута к земле).

Последний раз редактировалось NewWriter; 15.11.2016 в 23:28.
NewWriter вне форума  
Непрочитано 15.11.2016, 23:33  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Сообщение от NewWriter Посмотреть сообщение
В стэндбае не работает ваапще ничего, кроме низкочастотоного генератора, если он разрешен. Отключены даже все выводы, содержимое всех регистров и ОЗУ теряется. Остаются включенными регистры бэкапа, в них можно сохранять какую-то небольшую инфу (этих регистров очень мало) и ножка PA0. После возобновления работы МК начинает работу со сброса и начальной инициализации.
Зато потребление в этом режиме минимально.


Да.
Причем, саму ножку PA0 желательно либо притянуть к земле внешним резистором, или переключить ее в режим input PD (притянута к земле).
Он не стендбай пытается сделать, а стоп. Но в стопе тоже внутренние осцилляторы выключены.

Только кода мы не видим, что там у него после WFE происходит, и как.
Ведь при выходе из stop, как и из sleep, программа продолжает выполнение со следующей за WFE команды, и, возможно, например, условие, которое в прошлый раз вызывало подпрограмму, оканчивающуюся WFE, все еще действует, и она снова тут же и выполняется)))
AR_Favorit вне форума  
Непрочитано 15.11.2016, 23:52  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Вот код/ Потребление 12 мА
PHP код:
void SysTick_Handler (void) 
{

MSec++;
    if(MSec==999){
        MSec = 0;
      Sec++;
if (Sec == 30) {SCB-›SCR &= ~1‹‹1 ;}
        if(Sec==60){
            Sec = 0;
            Min++;
         // Stop mode
         RCC-›APB1ENR |= RCC_APB1ENR_PWREN;//вкл тактирование PWR
        SCB-›SCR |= 1‹‹1 | 1‹‹4;//0x00000002 ; //для M0 разрешаем SLEEPONEXIT
         PWR-›CR |= PWR_CR_LPDS;//выбираем режим Power Down Stop mode
         PWR-›CR |= PWR_CR_CWUF ; //очищаем wakeup flag
         PWR-›CSR |= PWR_CSR_EWUP2 | PWR_CSR_EWUP1; // разрешаем вэйкап
         __WFE();  //уснули
         //**********
            if(Min==60){
                Hour++;
            Min = 0;
                if(Hour == 24){
                    Hour = 0;
                }
            }
        }
   }

} 
Похоже что чип уходит в какойто режим... Потребление 6 мА. В отладке включил окно системного регистра. Там устанавливается галочка SLEEPONEXIT
ногу А0 и С13 притянул к земле.

Убрал галочку в отладке SLEEPONEXIT и проц дальше пошел работать и вышел из этого режима... Прописал чтоб каждые 30 секунд выходил из режима сна. Вот ток не пойму что это за режим...

Последний раз редактировалось miwutka; 16.11.2016 в 00:42.
miwutka вне форума  
Непрочитано 16.11.2016, 00:52  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Сообщение от miwutka Посмотреть сообщение
Убрал галочку в отладке SLEEPONEXIT и проц дальше пошел работать и вышел из этого режима...
Странно, что этот бит был установлен, по умолчанию он должен быть сброшен.

Его смысл - автоматически сваливать процессор обратно в сон при выходе из прерывания. То есть: в программе пустой главный цикл, ничего в нем не делается. Вся работа в прерываниях, которые будят процессор. Программа после инициализации проц усыпила, юзер нажал кнопку (или RTC дало прерывание) - программа проснулась, обработала прерывание и по выходу из него снова уснула, автоматом, без лишних команд. Максимальная экономия энергии.
Правда это все предназначено для работы с режимом ожидания прерывания WFI, а в режиме WFE не знаю, должен ли этот бит работать, видимо, работает, и как только проц возвращался из прерывания по систику, он обратно и засыпал.

А почему вы решили, что во время сна систик работал? Все должно было "зависать" в точке после __WFE()...

Выкиньте команды отправки процессора в сон из прерывания по систику и повесьте их на отдельную процедуру, вызываемую по изменению состояния какой-нить ножки. Тогда будет понятнее.

Последний раз редактировалось AR_Favorit; 16.11.2016 в 00:56.
AR_Favorit вне форума  
Непрочитано 16.11.2016, 00:58  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

секунды которые в систике работают без остановки. Я отладку включил и видно что работают. Сейчас на 30-ой секунде я возвращаю из сна проц, а на 59-ой усыпляю чип. Но это какойто самый слабый сон )) 24 МГц проц работает, и потребление 12 мА, а в этом сне 6 ма. А должно быть меньше 1 мА как я понимаю... Фиг с этим СТОП модом. Надо в слип попасть который NewWriter, использует...
Ах да, в этом режиме что у меня проц после просыпания продолжает работу, а не стартует с самого начала, с резета. NewWriter говорил что после просыпания программа стартует с самого начала. А у меня нет...

Последний раз редактировалось miwutka; 16.11.2016 в 01:00.
miwutka вне форума  
Непрочитано 16.11.2016, 01:17  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Сообщение от miwutka Посмотреть сообщение
Надо в слип попасть который NewWriter, использует..
У него не слип, а стендбай, и таки да - при выходе из стендбай происходит полный ресет. А при выходе из слип или стоп - программа продолжает работу со следующей за WFI/WFE инструкции.

ЗЫ присмотрелся к коду.

SCB-›SCR |= 1‹‹1 | 1‹‹4;//0x00000002 ;

Это что за чудеса? Вы сами же зачем-то и устанавливаете и SLEEPONEXIT (бит 1 SCB-›SCR), и до кучи еще и SEVEONPEND (бит 4 SCB-›SCR), а вот SLEEPDEEP (бит 2 SCB-›SCR) у вас при первом засыпании так и остается нулем (запись в него не прошла при не включенном тактировании), и естественно, в этом случае после WFE процессор уходит не в STOP, а в куда более жрущий SLEEP, с работающими генераторами, отчего и систик продолжает систикать)))

SCB-›SCR |= 1‹‹2; - и все! Не надо больше ничего там трогать!

Разбудить проц из программы вы уже никак не можете ни на какой секунде. Она не выполняется, как только он уснул. Только событием, возникающим независимо от программы.

Выкиньте эту галиматью, сделайте одну простую вещь: обработку любого входа, чтобы по его замыканию вызывалось то, что вы писали изначально на первой странице. Прошейте в проц. Отключите отладчик и посмотрите по потреблению, засыпает проц или нет, просыпается от тех входов, что должны выводить из спящего режима или нет.

Последний раз редактировалось AR_Favorit; 16.11.2016 в 01:37.
AR_Favorit вне форума  
Сказали "Спасибо" AR_Favorit
miwutka (16.11.2016)
Непрочитано 16.11.2016, 01:39  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Сообщение от AR_Favorit Посмотреть сообщение
SCB-›SCR |= 1‹‹2; - и все! Не надо больше ничего там трогать!
Ну да, это я уже понял. Значит я в слип уводил. А вот в стоп он уходил этой командой. Но давал я +3.3 вольта на РС13 и на РА0 и всеравно он не выходил из СТОПа... Ща заново покумекаю.....
miwutka вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RTC - уход мене минуты в год picavr STM8 9 26.07.2015 19:46
Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768) vvv998 ARM 38 04.12.2014 12:48
Помогите запустить RTC в LPC1768 Chudilo Микроконтроллеры, АЦП, память и т.д 3 28.05.2012 02:24
Вопросик по RTC в LPC23xx serb-radio Микроконтроллеры, АЦП, память и т.д 15 25.05.2011 19:49


Часовой пояс GMT +4, время: 01:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.