Witam!
Nie znalazłem odpowiedzi na forum, a już mnie zaczął męczyć ten timer1. Chciałem, żeby po prostu odliczał mi czas. Do funkcji przekazuje mu wartość odpowiadającą ilości milisekund (tu w ogóle jakieś cuda się dzieją - wartość "ms" po wyliczeniu OCR1A przyjmuje jakieś kosmiczne wartości [sprawdzane jtagicem], stąd też zrobiłem przypisanie do zmiennej automatycznej). Program działa tylko dla wartości "1000". Już zupełnie nie ogarniam co jest nie tak - robię niby wszystko tak jak napisane zostało w datasheetcie, a mimo wszystko program nie bangla
Poniżej istotny wycinek kodu: (btw. na początku próbowałem robić bez zmiennej "until"... ale oczywiście nie działało; pozostałości w komentarzu)
Czy byłby ktoś w stanie wskazać błąd albo przynajmniej kierunek rozumowania?
edit1: dodam jeszcze, że bawiłem się zmianą ustawień wewnątrz atmegi, bo podłączałem zewnętrzny kwarc 14,7456 MHz. Aktualnie ustawioną mam opcję:
Ext Crystal/Resonator High Freq.; Start-up time : 16K CK + 64ms
Nie znalazłem odpowiedzi na forum, a już mnie zaczął męczyć ten timer1. Chciałem, żeby po prostu odliczał mi czas. Do funkcji przekazuje mu wartość odpowiadającą ilości milisekund (tu w ogóle jakieś cuda się dzieją - wartość "ms" po wyliczeniu OCR1A przyjmuje jakieś kosmiczne wartości [sprawdzane jtagicem], stąd też zrobiłem przypisanie do zmiennej automatycznej). Program działa tylko dla wartości "1000". Już zupełnie nie ogarniam co jest nie tak - robię niby wszystko tak jak napisane zostało w datasheetcie, a mimo wszystko program nie bangla
Kod: C / C++
Czy byłby ktoś w stanie wskazać błąd albo przynajmniej kierunek rozumowania?
edit1: dodam jeszcze, że bawiłem się zmianą ustawień wewnątrz atmegi, bo podłączałem zewnętrzny kwarc 14,7456 MHz. Aktualnie ustawioną mam opcję:
Ext Crystal/Resonator High Freq.; Start-up time : 16K CK + 64ms