Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
02.12.2007, 15:00
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Контроллер не хочет просыпаться из режима Power-save
ATmega16, комплятор CVAVR
В спячий режим контроллер вошел...и все, выйти никак.
Проверял в железе и в протеусе!
В чем интересно косяк?
Проект прилагаю...
Прикрепленный файл: 7454435.rar
|
|
|
|
03.12.2007, 13:32
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
В аврстудио работает, а в железе и протеусе нет
(Глючит студия?)
Да, хочу выйти из спящего режима по прерыванию таймера счетчика 2 по сравнению...
Какие могут быть подводные камни кто то знает?
|
|
|
|
03.12.2007, 17:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от dimonbest
|
В аврстудио работает, а в железе и протеусе нет
(Глючит студия?)
Да, хочу выйти из спящего режима по прерыванию таймера счетчика 2 по сравнению...
Какие могут быть подводные камни кто то знает?
|
В Power-save таймеры не работают, только в Idle.
|
|
|
|
03.12.2007, 17:48
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Сообщение от TEHb
|
В Power-save таймеры не работают, только в Idle.
|
В протеусе не работают?
-- Прилагается рисунок: --
|
|
|
|
03.12.2007, 19:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от dimonbest
|
Сообщение от TEHb
|
В Power-save таймеры не работают, только в Idle.
|
В протеусе не работают?
|
Таймер откуда берёт частоту? От этого зависит.
|
|
|
|
03.12.2007, 20:01
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Сообщение от TEHb
|
Таймер откуда берёт частоту? От этого зависит.
|
С таймером в асинхронном режиме не работал еще, пытаюсь разобраться.
Контроллер работает от кварца, 10МГц.
Настраивал таймер так:
Код:
|
ASSR=0b00001000;
while (ASSR & 0b00000001);
TCCR2=0;
while (ASSR & 0b00000100);
TCNT2=0x00;
while (ASSR & 0b00000010);
OCR2=0x5E; |
Перед командой sleep запускаю таймер, а после пробуждения останавливаю его:
Код:
|
while (ASSR & 0b00000001);
TCCR2=0x0B;
powersave();
while (ASSR & 0b00000001);
TCCR2=0; |
Не пойму что не так, вроде все по даташиту...
|
|
|
|
04.12.2007, 12:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от dimonbest
|
ATmega16, ... хочу выйти из спящего режима по прерыванию таймера счетчика 2 по сравнению... В спячий режим контроллер вошел...и все, выйти никак.
Проект прилагаю...
|
Что-то я не пойму - а откуда берется тактовая для второго таймера? В проекте ничего на ногу TOsc1 не подано..?
Кроме того, вот этот участок кода (см. ниже) написан не так, как рекомендует ДШ:
Код:
|
TCCR2=0;
TCNT2=0x00;
while (ASSR & 0b00000010);
OCR2=0x5E; |
Ждать флага busy нужно и при присвоении регистрам TCCR2 и TCNT2, а не только OCR2.
Возможно, букве ДШ больше будет соответствовать такой код:
Код:
|
TCCR2=0;
TCNT2=0x00;
OCR2=0x5E;
while (ASSR & 0b00000111); |
-- Прилагается рисунок: --
|
|
|
|
04.12.2007, 17:22
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Сообщение от tempora
|
Что-то я не пойму - а откуда берется тактовая для второго таймера? В проекте ничего на ногу TOsc1 не подано..?
|
А у меня же там кварц стоит на 10 МГц. От кварца не может разве браться тактовая для таймера? Как вообще можно подавать на TOsc1 если там кварц висит?
-- Прилагается рисунок: --
|
|
|
|
04.12.2007, 17:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от dimonbest
|
Сообщение от tempora
|
Что-то я не пойму - а откуда берется тактовая для второго таймера? В проекте ничего на ногу TOsc1 не подано..?
|
А у меня же там кварц стоит на 10 МГц. От кварца не может разве браться тактовая для таймера? Как вообще можно подавать на TOsc1 если там кварц висит?
|
Ещё раз. Кварц в этом режиме будет выключен. Надо подавать тактовую частоту таймера на вход T2.
-- Прилагается рисунок: --
|
|
|
|
04.12.2007, 17:53
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Сообщение от TEHb
|
Ещё раз. Кварц в этом режиме будет выключен. Надо подавать тактовую частоту таймера на вход T2.
|
А как тогда понять вот это?
-- Прилагается рисунок: --
-- Прилагается рисунок: --
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:17.
|
|