roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 15:49

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Спящий режим в tiny2313v
СообщениеДобавлено: 04 окт 2009, 20:59 
Не в сети

Зарегистрирован: 13 июл 2009, 14:18
Сообщения: 28
Откуда: Барнаул
прог. языки: C/C++
Вот вычитал в даташите , что есть регистр MCUCR отвечающий за спящие режимы.
бит se - разрешение входа в сон
биты sm1,sm0 - тип сна.

Остальные биты как я понял ко сну не относятся.

Чтобы вогнать МК в спящий режим мне просто надо в программе в MCUCR записать нужное значение и все?
при прерывании МК проснется сам?
а если в прошивке нет прерываний?
Вобщем объясните мне как усыпит, а потом разбудить.

Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 04 окт 2009, 21:31 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
А в даташите нет примеров усыплвния на Си и АСМ-е ? Есть еще и книга Ефстифеева по ATtiny2313 которая по сути есть перевод даташита. Советую скачать. Если не найдете где, то она есть в библиотеке указаной на http://avr123.nm.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 04 окт 2009, 21:34 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2008, 14:41
Сообщения: 997
Откуда: СПб
прог. языки: C,Python
в дс должна быть таблица в которой указывается что отключается при переводе в спящий режим
общие положения такие - если отключается CK_io то прерывания которые могут разбудить мк только асинхронные


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 04 окт 2009, 22:53 
Не в сети

Зарегистрирован: 13 июл 2009, 14:18
Сообщения: 28
Откуда: Барнаул
прог. языки: C/C++
Нет. В даташите нет нет примера как усыпить МК.
А вот книжку щас посмотрим.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 05 окт 2009, 00:21 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
> В даташите нет нет примера как усыпить МК.

Т.е. в вашем даташите ( doc2543.pdf ) стр. 15 пустая чтоль ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 05 окт 2009, 13:53 
Не в сети

Зарегистрирован: 13 июл 2009, 14:18
Сообщения: 28
Откуда: Барнаул
прог. языки: C/C++
Цитата:
Т.е. в вашем даташите ( doc2543.pdf ) стр. 15 пустая чтоль ?

:oops: есть пример входа в сп. режим.
Просто я дуал что это должно находиться в разделе Power Management and Sleep Modes.
Книгу посмотрел.
Теперь кое-что прояснилось:
подключаем <sleep.h>
пишем sleep_enable();
а потом например powerdown();

Но вот не понятно, если МК спит и просыпается от прерывания, то надо в программе отключать сон или МК будет бодрствовать до следующего sleep_enable(); powerdown();?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 05 окт 2009, 15:03 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
До следующего.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 05 окт 2009, 18:26 
Не в сети

Зарегистрирован: 13 июл 2009, 14:18
Сообщения: 28
Откуда: Барнаул
прог. языки: C/C++
Спасибо... пошел строчить код.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 13 окт 2009, 11:02 
Не в сети

Зарегистрирован: 13 июл 2009, 14:18
Сообщения: 28
Откуда: Барнаул
прог. языки: C/C++
прерывание от системы захвата (pin ICP) происходит при изменении логического уровня - это значит ,что по нему не выйти из глубокого сна?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 20 ноя 2009, 12:10 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
аналогичная проблема. АтТини 2313 засыпает и не просыпается. Хочу чтобы просыпался по внешнему прерыванию №1 или №0.
Пробовал при настроенных срабатываниях по спаду - не просыпается (.
Катит только по какомуто конкретному типу срабатывания (по верхнему или по нижнему уровню)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 20 ноя 2009, 13:00 
Не в сети
Аватара пользователя

Зарегистрирован: 20 мар 2009, 12:45
Сообщения: 682
Откуда: Украина, Одесса
ФИО: Сергей
читаем доки на МК
Выйдет из спячги (Power-down)только по низкому уровню на ноге
Низкий уровень нужно удерживать не менее времени запуска МК (время выставляется фузами)
Ну и прерывание предварительно нужно настроить на срабатывание по низкому уровню...
Во время спячки (Power-down) работает только собачий таймер, все остальные такты спят))
а собачий таймер медленный (128 кГц) и на выход из спячки нужно время :pardon:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 20 ноя 2009, 14:40 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Ну вот чтото такое было в ДЩ написано, только на английском ) - не разобрал.
А если у меня обычная кнопка на прерывании - это каждый раз надо переконфигурировать тип срабатываний - чтобы при зажатой кнопке контроллер не залипал в этом прерывании?? (про дребезг пока забудем...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 20 ноя 2009, 15:36 
Не в сети
Аватара пользователя

Зарегистрирован: 20 мар 2009, 12:45
Сообщения: 682
Откуда: Украина, Одесса
ФИО: Сергей
ну, наверное да
перед спячкой и после выхода из спячки меняешь тип прерывания...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 20 ноя 2009, 15:56 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Сережа молодец! (С)
Буду пробовать.
ПС: А протеус просыпался, собака, и при прерывнии по спаду на INT0. :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Спящий режим в tiny2313v
СообщениеДобавлено: 20 ноя 2009, 16:14 
Не в сети
Аватара пользователя

Зарегистрирован: 20 мар 2009, 12:45
Сообщения: 682
Откуда: Украина, Одесса
ФИО: Сергей
:D это-же "ПРОТЕУС"


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO