mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik timer des mega8 frage


Autor: Dirk Frerichs (dirk-frerichs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi
ich bastle gerade an einem programm

timer0 soll den encoder und taster mit einem überlaufinterrupt versorgen

timer läuft auch
überlauf funktioniert


timer2  soll ein timeoutsignal erzeugen   auch diese über mittels 
überlaufinterrupt

timer läuft auch
überlauf funktioniert


jeder für sich funkioniert auch ..
aber beide zusammen funktionieren nicht zusammen

hab ich was  überlesen ?
oder kann nur einer im überlaufmodus funktionieren ??

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was funktioniert nicht zusammen?

Autor: Dirk Frerichs (dirk-frerichs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

die beiden timer im overflow

//Timer2
TCCR2  = (1<<CS22) | (1<<CS21) | (1<<CS22);  // prescaler   clk/1024
TIMSK  = (1<<TOIE2);        // timer2 overflow


// Timer0
TCCR0  = (1<<CS01);        // prescaler clk/8
TIMSK  = (1<<TOIE0);                // timer0 overflow


//---------------------timer 2 overflow
ISR (SIG_OVERFLOW2)
{
     //  code  Timeoutzähler
}


//---------------------timer 0 overflow
ISR (SIG_OVERFLOW0)
{
  // code Rotary encoder und Taster
}



wenn ich einen von beiden rausnehme
funktioniert jeweils der andere timer
nur beide zusammen wollen nicht

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> TIMSK  = (1<<TOIE2);        // timer2 overflow
> ...
> TIMSK  = (1<<TOIE0);                // timer0 overflow
Klar, mit der Freigabe des Timer 0 Overflow Interrupts löschst Du ja 
auch die Freigabe des Timer 2 Overflow Interrupt wieder. Also entweder
TIMSK = (1<<TOIE2) | (1<<TOIE0);
oder anstelle der zweiten Anweisung
TIMSK |= (1<<TOIE0);

Autor: Dirk Frerichs (dirk-frerichs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

ach stimmt :-)

vielen dank .. bin nioch nicht soo lange mit C / C++ aktiv


grüße
Dirk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.