Buduję prosty sterownik na atmedze 8, chcę obsługiwać klawiaturę w przerwaniach od timera0
ale atmega nie widzi procedury obsługi przerwania i resetuje się. Jeżeli zatrzymam timer albo wyłączę przerwanie timera, albo wyłączę globalnie przerwania to nie resetuje się.
Kod procedury obsługi przerwania (funkcje do LCD są w pełni sprawne, nawet gdy ISR jest puste w środku to dzieje się to samo :/ ).
Kod ustawiający timer i przerwania (wykonywany zaraz po uruchomieniu).
Używam wewnętrznego oscylatora 1MHz, avr-libc 1.4.8 i avr-gcc 4.2.3.
Co robię źle?
ale atmega nie widzi procedury obsługi przerwania i resetuje się. Jeżeli zatrzymam timer albo wyłączę przerwanie timera, albo wyłączę globalnie przerwania to nie resetuje się.
Kod procedury obsługi przerwania (funkcje do LCD są w pełni sprawne, nawet gdy ISR jest puste w środku to dzieje się to samo :/ ).
ISR(TIMER0_OVF_vect){
LCD_GoTo(8,1); LCD_WriteData('I');
}
Kod ustawiający timer i przerwania (wykonywany zaraz po uruchomieniu).
SFIOR=1;
TCCR0=0x5;
TCNT0 = 0;
TIMSK = _BV(TOIE0);
Używam wewnętrznego oscylatora 1MHz, avr-libc 1.4.8 i avr-gcc 4.2.3.
Co robię źle?