logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[c] ATmega8 - różnice w odmierzaniu czasu przez timery 0 i 2, 8MHz

thor87 24 Cze 2013 11:37 1533 3
REKLAMA
  • #1 12450273
    thor87
    Poziom 10  
    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ą.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    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
  • REKLAMA
  • Pomocny post
    #2 12450307
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 12450439
    michalko12
    Specjalista - Mikrokontrolery
    Przyjrzyj się jeszcze raz na wzór przy opisie trybu CTC. Coś Ci umknęło uwadze.
    Zamiast 125 ma być 124.
  • #4 12450512
    thor87
    Poziom 10  
    albertb napisał:


    A timer 0 reaguje, tylko Ty nie dostrzegasz różnicy 131 cykli na 10 minut -)
    Tą wartość to jakby nie tylko raz trzeba było wpisać.

    Albert

    pomogło dopisanie linijki:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    teraz obydwa liczniki idą równo, ale źle. Poszukałem i doczytałem i wiem, że zostaje mi kalibracja wewnętrznego oscylatora bądź zastosowanie kwarcu zewnętrznego.
    Dzięki za pomoc temat uważam za zamknięty.
REKLAMA