Witam
Mam pewien problem z odmierzaniem czasu za pomocą ATmegi. założeniem był prosty licznik czasu pracy urządzenia. Za pomocą timera odliczam określony czas po przepełnieniu timera zwiększam zmienną w pętli tak żeby uzyskać sekundę, następnie kolejna pętla zwiększająca minuty itd. Użyłem Atmega8 częstotliwość taktowania to 8MHz z wewnętrznego źródła. Poniżej konfiguracja dla timera 0 i 2. żeby sprawdzić działanie licznika czasy obydwóch liczników wyświetliłem na lcd i niestety nie zgadzają się z rzeczywistością co gorsza obydwa liczniki powinny dawać takie same wyniki a dla poszczególnych timerów różnią się diametralnie. proszę o pomoc co może być przyczyną.
wydaje mi się, że komentarze dobrze wyjaśniają co autor miał na myśli.
timer2 w ciągu 10 minut późni się o jakieś 12 sekund, a timer0 zdaje się nie reagować na wartość początkową wpisaną do rejestru TCNT0
Proszę na przyszłość używać tagu [syntax=C] do wklejania kodu w C...[/syntax].
Poprawiono, LordBlick
Mam pewien problem z odmierzaniem czasu za pomocą ATmegi. założeniem był prosty licznik czasu pracy urządzenia. Za pomocą timera odliczam określony czas po przepełnieniu timera zwiększam zmienną w pętli tak żeby uzyskać sekundę, następnie kolejna pętla zwiększająca minuty itd. Użyłem Atmega8 częstotliwość taktowania to 8MHz z wewnętrznego źródła. Poniżej konfiguracja dla timera 0 i 2. żeby sprawdzić działanie licznika czasy obydwóch liczników wyświetliłem na lcd i niestety nie zgadzają się z rzeczywistością co gorsza obydwa liczniki powinny dawać takie same wyniki a dla poszczególnych timerów różnią się diametralnie. proszę o pomoc co może być przyczyną.
Kod: C / C++
wydaje mi się, że komentarze dobrze wyjaśniają co autor miał na myśli.
timer2 w ciągu 10 minut późni się o jakieś 12 sekund, a timer0 zdaje się nie reagować na wartość początkową wpisaną do rejestru TCNT0
Proszę na przyszłość używać tagu [syntax=C] do wklejania kodu w C...[/syntax].
Poprawiono, LordBlick