Ekaterina Degteryova
Ekaterina Degteryova

Не пойму как работать с таймером 0? (см. внутри)

#int_timer0
void tmr0(void)
{
TOIF=0;
printf("1 ");
delay_ms(100);
}

void main (void)
{
printf("2");
GIE=1;
TOIE=1;
}

Не могу до конца понять, вот я разрешил ему прерывание, но при моделировании ничего не происходит. Т.е. что, таймер не переполняется ?

Ин
Инесска

Это похоже на контроллер AVR.

Надо вначале запрограммировать таймер
//....Программирование таймера 0 ...
SETBIT(TIMSK, BIT(TOIE0)); // enable TCNT0 overflow
TCNT0 = DIV_0; // set TCNT0 - MSB
TCCR0 = 5; // start timer 0, count with CPU clock/1024
//....
SEI(); // Разрешить прерывания

а в процедуре обработки временного прерывания таймер надо снова перезарядить
void timer_0_ovf(void)
{
TCNT0 = DIV_0;
...
}
И никаких DELAY!

Похожие вопросы
выключение компа по таймеру
PHP cookie и таймер )
как поставить компьютер на таймер
Таймер пробуждения...
Как зделать такой таймер?
Можно ли на компьютере поставить таймер
Почему так см. внутри
Чего тут не хватает? (см. внутри)
Не работает YouTube! (см. внутри).
зачем таймер на автосигнализации не пойму назначение таймера автосигнализации