Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Примерно(+)

Отправлено war4one 04 июля 2007 г. 10:07
В ответ на: Подскажите Где найти пример программирование часов реального времяни на С для ATmega отправлено <font color=gray>sdvision</font> 04 июля 2007 г. 00:36

Вешаем кварц на 32 кГц, как описано в ДШ.

Определяем прерывание
#pragma vector = TIMER0_OVF_vect
__interrupt void TIMER0_OVF_Interrupt (void)
{
clrbit (MCUCR, SE);
}

Настраиваем таймер
void TimerInit(void)
{
TCCR0 = (1 << CS00) | (1 << CS01) | (1 << CS02);
TIMSK = 1 << TOIE0;
ASSR = 1 << AS0;
}

Потом уходим в спячку, считая отрезки времени (тут у меня вроде были минуты, надо будет перенастроить таймер на секунды). А с этими отрезками уже делаем что хотим.
for (SleepSecondsCount = 0; SleepSecondsCount <= eeWaitState*8; SleepSecondsCount++)
{
MCUCR = (1<setbit (MCUCR, SE);
asm ("sleep");
}

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 6 на 2:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru