15.11.2016, 20:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Изучил немного RTC stm32F030C8
Добрый день. Запустил RTC в stm32f0. Порылся в инете на счет календаря нормального. Нашел вот этот. Может кто глянет глазом сойдет для использования или нет? http://we.easyelectronics.ru/Soft/fu...-registre.html
Там проде так не плохо сделано..... Громоздко но может у кого-то есть лучше...?
И немогу понять как на F0 без ножки VBAT запитать чип чтобы только часы работали а ядро не работало? Подскажите плиз...
|
|
|
|
15.11.2016, 20:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
Сообщение от miwutka
|
И немогу понять как на F0 без ножки VBAT запитать чип чтобы только часы работали а ядро не работало? Подскажите плиз...
|
Даташит, п 6.3 Low-power modes
Конкретно - 6.3.4 Stop mode, часы идут, ядро стоит, потребление единицы микроампер
Последний раз редактировалось AR_Favorit; 15.11.2016 в 20:24.
|
|
|
Сказали "Спасибо" AR_Favorit
|
|
|
15.11.2016, 20:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
AR_Favorit, а как потом в Run mode вернуть чип? Например я сделаю часы. Подаю питание. Всё включается, показывает нам время. Через минуту уходит в Stop mode. Потом я нажимаю на кнопку и он возвращается в Run mode. Как такое реализовать? EXTI или IWDG или как еще можно?....
|
|
|
|
15.11.2016, 20:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
Сообщение от miwutka
|
AR_Favorit, а как потом в Run mode вернуть чип? Например я сделаю часы. Подаю питание. Всё включается, показывает нам время. Через минуту уходит в Stop mode. Потом я нажимаю на кнопку и он возвращается в Run mode. Как такое реализовать? EXTI или IWDG или как еще можно?....
|
В том разделе все написано. Да, как вы написали - можно.
|
|
|
|
15.11.2016, 20:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
AR_Favorit, Читаю раздел. Там написано что в Stop mode все линии EXTI работают если настроены в режим event и включены прерывания. Сейчас в отладке ставил бит LPDS в 1, по идее должен был чип уйти в stop mode но он не ушел. Наверно в режиме отладки это не будет работать, не в курсе?
|
|
|
|
15.11.2016, 20:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
Сообщение от miwutka
|
Сейчас в отладке ставил бит LPDS в 1, по идее должен был чип уйти в stop mode но он не ушел.
|
Не должен был никуда уйти. Этот бит означает только, что в стопе будет использоваться специальный стабилизатор питания - с низким потреблением.
А для того,чтобы чип перешел в режим STOP, надо выполнить инструкцию WFI или WFE (в зависимости от того, чем хотим будить - прерыванием или событием), предварительно установив этот и другие биты. Все это в даташите, где я указал, потратьте часок на внимательное изучение и перевод.
|
|
|
|
15.11.2016, 20:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
Понял. Как раз дочитал до WFI и WFE )) Спасибо.
|
|
|
|
15.11.2016, 23:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
Переменная в основном цикле инкрементируется, не важно какая.
вот так проц уходит вроде в Stop mode
PHP код:
|
// Stop mode
RCC-›APB1ENR |= RCC_APB1ENR_PWREN;//вкл тактирование PWR
SCB-›SCR |= SCB_SCR_SLEEPDEEP_Pos; //для M0 разрешаем sleepdeep
PWR-›CR |= PWR_CR_LPDS;//выбираем режим Power Down Stop mode
PWR-›CR |= PWR_CR_CWUF ; //очищаем wakeup flag
PWR-›CSR |= PWR_CSR_EWUP2; // разрешаем вэйкап
__WFE(); //уснули
|
Системный таймер работает. Переменная в основном цикле перестала инкрементироваться.
Подаю положительный импульс на пин С13 (Wekup2) вижу в отладке поднимается флаг WUF в регистре CSR. Переменная не инкрементируется. Уходит ли проц именно в СТОП режим? И как понимать событие WUF если основной цыкл не начинает работать? Чтото еще не дописал?
|
|
|
|
15.11.2016, 23:12
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
Здесь нужно читать еще и программинг-мануал PM0215, раздел System control register, где описывается переключение в режим deep sleep, при котором наступает полное выключение МК (standby) с еще меньшим потреблением (около 2 мкА), а включение возможно по ножке PA0, по будильнику RTC, сбросу NRST или IWDG.
Лично я с успехом использовал standby в устройстве с батарейным питанием без механического выключателя.
|
|
|
|
15.11.2016, 23:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Изучил немного RTC stm32F030C8
Если систик работает, это не STOP
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:35.
|
|