Cześć. Próbuję zrobić wykorzystać timery i mam problem. Ustawiam timer tak, żeby liczył do 255, a potem się resetował. Gdy występuje przepełnienie dioda powinna się zaświecić. Dlaczego tak się nie dzieje? Coś robię źle?
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/delay.h>
ISR(INT0_vect)
{
if(!(PIND & (1 << PIND2)))
{
PORTB |= (1 << PB1);
}
else
{
PORTB &= ~(1 << PB1);
}
}
ISR(TIMER0_OVR_vect)
{
PORTB |= (1 << PB1);
_delay_ms(3000);
}
int main(void)
{
DDRD &= ~(1 << PD2);
DDRB |= (1 << PB1);
PORTD |= (1 << PD2);
MCUCR |= (1 << ISC00);
GICR |= (1 << INT0);
TIMSK |= (1 << TOIE0);
TIFR |= (1 << TOV0);
sei();
TCCR0 |= (1 << CS02);
while(1)
{
}
return 0;
}