AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
26.01.2013, 12:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Режимы сна Атмега-8
tcnt1 будит из поверсэйва только при работе от часового кварца
|
|
|
|
26.01.2013, 13:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,937
Сказал спасибо: 2,991
Сказали Спасибо 3,167 раз(а) в 2,149 сообщении(ях)
|
Re: Режимы сна Атмега-8
Сообщение от mvn77
|
//MCUCR=0xA0; //power down mode только в этом режиме можно проснутся по переполнению в протеусе
|
Протезус, вероятно, бяка.
Сообщение от niXto
|
tcnt1 будит из поверсэйва только при работе от часового кварца
|
Именно так.
Т.е. если уж mvn77 желает использовать внешний тактовый сигнал для Т1, да ещё не 32768, а 1 Гц, то следует использовать просыпание по "pin change". Но, всё равно, как-то некрасиво выглядит. Что используете и что получить хотите?
Последний раз редактировалось ForcePoint; 26.01.2013 в 15:26.
|
|
|
|
26.01.2013, 14:11
|
|
Частый гость
Регистрация: 29.04.2008
Сообщений: 39
Сказал спасибо: 6
Сказали Спасибо 16 раз(а) в 8 сообщении(ях)
|
Re: Режимы сна Атмега-8
Задача стоит просыпание раз в пол часа и измерение температуры, дата логгер в общем с питанием от батареи. Я уже думаю может тогда INT0 подать и просыпается каждую секунду из повер давн, и проверять не настало ли время, но как то некрасиво это будет... Хочется что бы все таки спал.
Кстати насколько я понял все таки можно просыпается из повер сейва по переполнению Т0, но что то не получается.
Кстати исправил выключение ватчдога -
//Выключить WDT
/* Write logical one to WDCE and WDE */
WDTCR |= (1‹‹WDCE) | (1‹‹WDE);
/* Turn off WDT */
WDTCR = 0x00;
Последний раз редактировалось mvn77; 26.01.2013 в 14:34.
|
|
|
|
26.01.2013, 15:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 982
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: Режимы сна Атмега-8
Почитайте Timer/Counter0 and Timer/Counter1 Prescalers:External Clock Source.
Осознайте что для синхронизации с Ext Т0 нужен активный clkI/O, а он есть только в режиме Idle. Ищите решение.
Стоит иметь ввиду:
Цитата:
|
To avoid the MCU entering the sleep mode unless it is the programmer’s purpose, it is recommended to set the Sleep Enable (SE) bit just before the execution of the SLEEP instruction.
|
У вас на 16 строк кода - 3 ошибки. Тоесть почти 20%. Печально
Последний раз редактировалось Wiza_; 26.01.2013 в 15:37.
|
|
|
|
26.01.2013, 15:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 982
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: Режимы сна Атмега-8
Сообщение от niXto
|
tcnt1 будит из поверсэйва только при работе от часового кварца
|
Небольшая ошибочка - TCNT2. tcnt1 тоже засыпает
|
|
|
|
26.01.2013, 15:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,937
Сказал спасибо: 2,991
Сказали Спасибо 3,167 раз(а) в 2,149 сообщении(ях)
|
Re: Режимы сна Атмега-8
Сообщение от mvn77
|
... Я уже думаю может тогда INT0 подать и просыпается каждую секунду из повер давн, и проверять не настало ли время, но как то некрасиво это будет... Хочется что бы все таки спал.
|
Если на INT0 - то без разницы, сэйв или даун - спать будет и так и так.
Сообщение от mvn77
|
Кстати насколько я понял все таки можно просыпается из повер сейва по переполнению Т0, но что то не получается.
|
Курите внимательно таблицу в разделе "Sleep Modes" - проснуться из сэйва по таймеру можно только от №2, переключенному в асинхронный режим.
Так-что вариантов у Вас два: - 1. Просыпаться по INTx. Не забудьте, что режим побудки надо выставить по низкому уровню и ухищряться с аппаратурой, если используете сигнал со скважностью 2 (например от часов типа PCF) формируя укороченный интервал нуля (что-бы не просыпаться лишний раз или не ждать перехода INTx в единицу).
- 2. Сделать штатными методами через T2 (используя встронный RC-генератор для тактирования МК и часовой кварц на XTAL/TOSC для тактирования T2.
Ну, может быть, перейти ещё на mega88. Но не помню точно, насколько там изменено устройство и что с этого можно получить в данном случае.
P.S. Если используется внешняя ИМС часов, то можно и по WatchDog'у просыпаться, срерять время и ложиться спать снова.
Последний раз редактировалось ForcePoint; 26.01.2013 в 16:02.
Причина: Расстановка акцентов
|
|
|
|
26.01.2013, 15:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 982
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: Режимы сна Атмега-8
Короче картинка
|
|
|
|
26.01.2013, 16:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Режимы сна Атмега-8
mvn77, переводи таймер2 в асинхронный режим и подавай на его вход tosc свой 1 Гц. Будет работать в поверсэйве
|
|
|
|
26.01.2013, 17:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,937
Сказал спасибо: 2,991
Сказали Спасибо 3,167 раз(а) в 2,149 сообщении(ях)
|
Re: Режимы сна Атмега-8
Сообщение от niXto
|
таймер2 в асинхронный режим и подавай на его вход tosc свой 1 Гц
|
Не рекомендуется:
Сообщение от дока на ATmega8
|
The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying an external clock to the TOSC1 pin may result in incorrect Timer/Counter2 operation.
|
Последний раз редактировалось ForcePoint; 26.01.2013 в 23:26.
Причина: Дополнение
|
|
|
|
26.01.2013, 20:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 982
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: Режимы сна Атмега-8
Сообщение от ForcePoint
|
Не рекомендуется
|
Следующее, за вашими двумя, предложение (или несколько) объясняет - почему. Так что всё норм.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:32.
|
|