Kod: Zaznacz cały
overflowT3 = 0; // czas = 0 (zero przekręceń licznika)
//ETIMSK |= _BV(TOIE3); // zezwolenie na przerwania dla T3
TIMSK |= _BV(TOIE0); // zezwolenie na przerwania dla T0
TCNT0 = 240; // ustawienie wartości (max-16), aby przepełnienie było po 16 impulsach
//sei(); // włącz obsługę przerwań
TCCR3B |= _BV(CS30); // ustawienie timera zliczającego czas
Kod: Zaznacz cały
if (TCNT3>65530)
{
overflowT3++;
if (!(overflowT3%16))
{
if (PORTC == D_ZA_NISKO)
PORTC = ZADNA_DIODA_NASTROJENIA;
else if (PORTC == ZADNA_DIODA_NASTROJENIA)
PORTC = D_ZA_NISKO;
}
}
Jak zrobię tak:
Kod: Zaznacz cały
overflowT3 = 0; // czas = 0 (zero przekręceń licznika)
ETIMSK |= _BV(TOIE3); // zezwolenie na przerwania dla T3
TIMSK |= _BV(TOIE0); // zezwolenie na przerwania dla T0
TCNT0 = 240; // ustawienie wartości (max-16), aby przepełnienie było po 16 impulsach
sei(); // włącz obsługę przerwań
TCCR3B |= _BV(CS30); // ustawienie timera zliczającego czas
Kod: Zaznacz cały
ISR(TIMER3_OVF_vect)
{
overflowT3++;
if (!(overflowT3%16))
{
if (PORTC == D_ZA_NISKO)
PORTC = ZADNA_DIODA_NASTROJENIA;
else if (PORTC == ZADNA_DIODA_NASTROJENIA)
PORTC = D_ZA_NISKO;
}
}
O co w tym chodzi??