- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 33

Thema: Timer beim ATMega32 in C

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #16
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.236
    Ohne CTC läuft der Timer nicht richtig.
    Das CTC bedeutet, das das TCNT1 Register bei einem Comparematch auf 0 gesetzt wird.
    Wenn das nicht eingestellt ist wird der Timer über den Overflow springen und dann erst wieder beim Zählerstand von 15625 wieder einen Interrupt auslösen.
    Das bedeutet der Interrupt wird nur alle ca 4 Sekunden angesprungen.
    Da gibt es mehrere Lösungen.
    Entweder du zählst bei einem aufgetretenen Comparematch Interrupt ( in diesem natürlich ) einfach die 15625 zum Comparematchwert dazu.
    OCR1A+=15625;
    Das bewirkt, das beim Zählerstand von 31250 wieder ein Interrupt ausgelöst wird.
    Keine Angst bei den Überläufen ( >65535 ) Werden die Überlaufenden Bits gekillt, weil das ja nur ein 16Bit Register ist.
    Oder du aktivierst das CTC Bit im Register, das anscheinend in der Library anders heisst, oder nicht definiert ist.
    Guck auch mal ins Datenblatt unter Timer 1 WGM10 bis WGM13 bzw. CTC1.

    Das mit dem TCNT1=0 würde ich nicht machen, weil dabei ein kompletter Zählersprung "vergessen" werden könnte und deine Uhr damit auf Dauer falsch geht.
    Das ist halt eine Sache wie lange deine Controller sich in anderen Interupts aufhält, wie lange diese Interrupts sind und welche Prescaler man benutzt.
    Geändert von wkrug (10.06.2012 um 21:13 Uhr)

Ähnliche Themen

  1. Timer beim atmega8
    Von MrTaco im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 19.05.2010, 14:28
  2. ausschaltverzögerung beim einschalten (timer)
    Von Warloxx im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 03.09.2009, 18:55
  3. Timer => Fehlermeldungen beim compilieren
    Von The Man im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 14.02.2007, 10:07
  4. Timer/Counter0 beim Butterfly
    Von Heiko R. im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 09.11.2005, 17:55
  5. Timer beim Mega16
    Von maw_hn im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 22.08.2005, 09:03

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress