реклама на сайте
подробности

 
 
> Режим Power Save
MMP
сообщение May 25 2006, 15:44
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 43
Регистрация: 7-07-05
Из: г.Магнитогорск
Пользователь №: 6 618



Вообщем-то необходимо применить этот режим пониженного энергопотребления. Контролер при исчезновении питания по прерыванию с ноги(INT0) должен уснуть, при этом должен работать асинхронный таймер(реализованы часы). Вопрос в том как отписать на С (команда SLEEP) или еще чего надо? И особенно как выйти из него.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение May 25 2006, 16:35
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(MMP @ May 25 2006, 18:44) *
Вообщем-то необходимо применить этот режим пониженного энергопотребления. Контролер при исчезновении питания по прерыванию с ноги(INT0) должен уснуть, при этом должен работать асинхронный таймер(реализованы часы). Вопрос в том как отписать на С (команда SLEEP) или еще чего надо? И особенно как выйти из него.


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

Для того чтобы перейти в режим Power save, необходимо выполнить следующий ряд действий:
1. Установить бит SE в регистре MCUCR. (разрешение режима сна)
2. Установить биты SM1 и SM0, а также сбросить бит SM2 в регистре MCUCR (установка режима сна = Power Save)
3. Разрешить прерывания
4. Выполнить команду SLEEP ( на C - sleep(); )

Процессор пробудится по приходу прерывания, и начнет выполнение программы со следующей после sleep команды.
Go to the top of the page
 
+Quote Post
MMP
сообщение May 26 2006, 00:38
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 43
Регистрация: 7-07-05
Из: г.Магнитогорск
Пользователь №: 6 618



Цитата(defunct @ May 25 2006, 22:35) *
Все немного не так как вы себе представляете. Процессор можно перевести в режим сна командой SLEEP, а проснуться процессор может по прерыванию.

Для того чтобы перейти в режим Power save, необходимо выполнить следующий ряд действий:
1. Установить бит SE в регистре MCUCR. (разрешение режима сна)
2. Установить биты SM1 и SM0, а также сбросить бит SM2 в регистре MCUCR (установка режима сна = Power Save)
3. Разрешить прерывания
4. Выполнить команду SLEEP ( на C - sleep(); )

Процессор пробудится по приходу прерывания, и начнет выполнение программы со следующей после sleep команды.


Да нет это все я читал и представляю. Просто наверно не совсем правильно выразился. Вопрос наверно звучит так: Есть ли на С ICC команда для перевода в режим или все же придется втавить асемблер. У меня на асинхронном таймере реализованы часы, т.е. каждую секунду процессор входит в режим прерывания по ассинхронному таймеру, что является выходом из режима SLEEP, но мне это не надо, пока на INT0 не появится сигнал "1", как примерно он будет вести себя. Это больше адрессовано к тем, кто на практике уже применял этот режим.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 13:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016