|
RTC в ATmega, Power-save |
|
|
|
Dec 30 2010, 07:24
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(777777 @ Dec 30 2010, 13:04)  Да это понятно. Но вот я выхожу из прерывания сразу после инкремента и сразу засыпаю. Тактирование от внутреннего RC-генератора 8 МГц, поэтому на всё уходит явно меньше 30 мкс. Однако часы почему-то работают. Ну, короче, каждый делает так, как считает нужным. Мое дело - предупредить (поскольку я на это уже успел наступить два раза, и с переполнением, и с OC, и было весьма неприятно).
|
|
|
|
|
Dec 30 2010, 07:52
|

Местный
  
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035

|
Цитата(777777 @ Dec 30 2010, 13:04)  Да это понятно. Но вот я выхожу из прерывания сразу после инкремента и сразу засыпаю. Тактирование от внутреннего RC-генератора 8 МГц, поэтому на всё уходит явно меньше 30 мкс. Однако часы почему-то работают. Если работает не по даташиту, а вопреки, то это недокументированная возможность. И не факт, например, что в следующей партии будет работать так же.
|
|
|
|
|
Jan 2 2011, 16:06
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(xelax @ Dec 30 2010, 13:52)  Если работает не по даташиту, а вопреки, то это недокументированная возможность. И не факт, например, что в следующей партии будет работать так же. Если бы это была errata, то можно было бы предположить, что мне попалась ревизия, в которой это исправлено. Но это не баг, а фича, причем даже понятно почему так должно работать - поскольку этот узел асинхронный, требуется синхронизация с внутренним клоком.
|
|
|
|
|
Jan 11 2011, 05:54
|

Местный
  
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035

|
Цитата(777777 @ Jan 2 2011, 22:06)  Если бы это была errata, то можно было бы предположить, что мне попалась ревизия, в которой это исправлено. Но это не баг, а фича, причем даже понятно почему так должно работать - поскольку этот узел асинхронный, требуется синхронизация с внутренним клоком. Просто время которое тратиться на пролог, тело и эпилог прерывания оказывается большим чем один цикл на TOSC1, необходимый для сброса логики прерывания, поэтому у вас и работает повторный вход в режим сна. Никакая это не фича, по крайней мере не фича микроконтроллера. При более быстром тактировании эта фича легко превратится в багу, правда выше 8 МГц от внутреннего осциллятора всё равно не может тактироваться. Так что программа может жить и с этой фичей
|
|
|
|
|
Jan 11 2011, 11:59
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(xelax @ Jan 11 2011, 12:54)  Просто время которое тратиться на пролог, тело и эпилог прерывания оказывается большим чем один цикл на TOSC1, Цитата(777777 @ Dec 30 2010, 14:04)  Тактирование от внутреннего RC-генератора 8 МГц, поэтому на всё уходит явно меньше 30 мкс. 777777 утвеждает что меньше 30 мкс. На 8-ми MHz это примерно 244 такта. Думаю достаточно для простого увеличения счетчика (секунд). А может всетаки меньше 8MHz ? А какое резервное питание? Внутренний RC обеспечивает 8 MHz при резервном питании ?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|