RTC Atmega16

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
techlab
Родился
Сообщения: 17
Зарегистрирован: Сб дек 03, 2011 18:03:34
Откуда: Khark0xFF.UA
Контактная информация:

RTC Atmega16

Сообщение techlab »

Вопрос вот какого характера, никогда до сего момента RTC юзать не приходилось, покурил даташит, вроде все написал, на кварце меандр в 3276* присутствует, что говорит о том, что на работу от него переключились. Но обработчик прерывания по переполнению судя по всему не отрабатывает.
Гляньте не замыленным взглядом правильно ли я инициализацию выполняю.
Писано в IAR AVR 5.3

Код: Выделить всё

void rtc_init(void)
{
 //Отключаем прерывания Таймера 2.
    TIMSK &= ~((1<<TOIE2) | (1<<OCIE2));
 
    //Переводим таймер 2 в асинхронный режим, такт от часового кварца
    ASSR |= (1<<AS2);
 
    TCNT2 = 0x00;
    TCCR2 = 0x05; //прескаллер  128.
    OCR2  = 0x00;
 
    // Ждем готовности таймера
    while (ASSR & (1<<TCN2UB) | (1<<OCR2UB) | (1<<TCR2UB));
 
    // Разрешаем прерывания от Таймера 2.
    TIMSK |= (1<<TOIE2);
 
    // Разрешаем прерывания глобально.
__enable_interrupt();
}
Опыт прямо пропорционален количеству аппаратуры выведенной из строя...
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»