Dzień Dobry wszystkim !
Przyznam szczerze, że z uruchamianiem timerów sprzętowych zawsze miałem problem. Timer 1 (16bitowy) w trybie CTC mam uruchomiony i działa od dla mnie poprawnie kod jego to :
Kod:
TCCR1B|= (1<<WGM12); // włączenie trybu CTC Timera1
TCCR1B|= (1<<CS10) | (1<<CS12); // włączenie preskaler 128
TIMSK|= (1<<OCIE1A); // zezwolenie na przerawnie Compare Match
OCR1A=400;
TCNT1=0;
Analogicznie chciałem uruchomić timer3 (16bitowy) kod do niego to:
Kod:
TCCR3B|= (1<<WGM32); // włączenie trybu CTC Timera3
TCCR3B|= (1<<CS30) | (1<<CS32); // włączenie preskaler 128
ETIMSK|= (1<<OCIE3A); // zezwolenie na przerawnie Compare Match
OCR3A=900;
TCNT3=0;
Kod:
ISR(TIMER3_COMPA_vect){
uart_puts("DZIALA");
}
Już przy poleceniu ETIMSK|= (1<<OCIE3A); blokuje mi Timer1, przyznam że główkuje nad tym od paru godzin, i nie wiem co jest nie tak. Bardzo proszę o pomoc