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

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

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

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

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

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


 
Опции темы
Непрочитано 15.11.2016, 23:18  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучил немного RTC stm32F030C8

Сообщение от miwutka Посмотреть сообщение
в Standby систик работает, да?
настроил еще и А0 на просыпание. Флаг поднимается и всё... ща почитаю Progr. manual...
систик работает только в sleep
AR_Favorit вне форума  
Непрочитано 15.11.2016, 23:25  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
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.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 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.RU
 
Регистрация: 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‹‹;}
        if(
Sec==60){
            
Sec 0;
            
Min++;
         
// Stop mode
         
RCC-›APB1ENR |= RCC_APB1ENR_PWREN;//вкл тактирование PWR
        
SCB-›SCR |= 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.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 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.RU
 
Регистрация: 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, время: 21:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot