Cześć, chcę aby dioda migała co 1 sekundę czyli, żeby przepełnienie timery występowało co 1 sekundę? Jak to zrobić bo próbowałem już wiele razy korzystałem z tego kalkulatora, ale to nic mi nie pomagała. Na Atmedze8A i timerze 0 jest to w ogóle możliwe? Widziałem w poradnikach, że ludzie zmieniają wartość rejestru OCR0 na wyliczoną w kalkulatorze, ale Atmega8A nie ma tego rejestru. Dodam jeszcze taktowanie mam ustawione na 8000000Hz. Dlaczego ten kod nie działa jak chcę?
#include <avr/io.h>
#include <avr/interrupt.h>
ISR(INT0_vect)
{
if(!(PIND & (1 << PIND2)))
{
PORTB |= (1 << PB1);
}
else
{
PORTB &= ~(1 << PB1);
}
}
ISR(TIMER0_OVF_vect)
{
PORTB ^= (1 << PB0);
}
int main(void)
{
DDRD &= ~(1 << PD2);
DDRB |= (1 << PB0);
DDRB |= (1 << PB1);
PORTD |= (1 << PD2);
PORTB |= (1 << PB0);
MCUCR |= (1 << ISC00);
GICR |= (1 << INT0);
TIMSK |= (1 << TOIE0);
TCCR0 |= (1 << CS02) | (1 << CS00);
TIFR |= (1 << TOV0);
sei();
while(1);
return 0;
}