Wykonuje przerwanie na procesorze Atmega128 pisząc program w C output compare i stosuje uchwyt w przerwaniu SIG_OUTPUT_COMPARE3A no i w tym trybie przerwanie mi działa jeżeli użyje uchwytu przerwania SIG_OUTPUT_COMPARE3B (odpowiednio) pozmieniam rejestry to niestety nie działa
oto kod procedu najważniejszych:
Czy ktoś może mi powiedzieć czego tutaj brakuje? lub co jest nie tak?
Regulamin
>Poprawiłem tytuł , kod ująłem w tagi , przeniosłem do właściwego działu<
[zumek]
oto kod procedu najważniejszych:
SIGNAL (SIG_OUTPUT_COMPARE3B)
{
tablica[i]+=(ADCH<< 8 ) ;
i++;
}
inicjalizacja timera:
void timer_init(void)
{
ETIMSK=(1<<OCIE3B); //Inicjalizacja timera 3 w tyrybie output compare
OCR3BH=5; //
OCR3BL=0;
TCCR3A=0; //
TCCR3B=8+presc;
}
pętla gówna:
presc=1;
sei();
konwersja: if (i<256) goto konwersja;
cli();
Czy ktoś może mi powiedzieć czego tutaj brakuje? lub co jest nie tak?
Regulamin
>Poprawiłem tytuł , kod ująłem w tagi , przeniosłem do właściwego działu<
[zumek]