www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer2 Mega88 Assembler


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem mit dem Timer2 des Mega88.
Ich möchte das TOV2-flag auslesen, klappt aber bisher nicht.

hier die Initalisierung des Timers:
ldi temp, 156
sts tcnt2, temp                
ldi temp, (1<<CS22) | (1<<CS21) | (1<<CS20) ;Teiler für Timer2 einstellen
sts tccr2b, temp          ;Teiler für Timer2 starten

Ab hier soll das TOV2-Flag abgefragt werden, laut Simulation wird das 
Tov2-flag auch gesetzt, leider wird das Byte nicht ins Temp-Register 
übertragen.
w20ms:
 lds temp, TIFR2
 sbrs temp, TOV2
rjmp w20ms
 ldi temp, (0<<CS22) | (0<<CS21) | (0<<CS20)  ;Timer2 aus
 sts tcnt2, temp
 ldi temp, (1<<TOV2)        ;Timer2 zurückstellen
 sts TIFR2, temp

Wahrscheinlich ist es ganz einfach, aber von allein komme ich irgendwie 
nicht drauf. Ich hoffe mir kann jemand einen Tipp geben


Gruß, Jürgen

Autor: Naja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(1<<TOV2)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Versuchs mal mit in/out statt mit lds/sts.

MfG Spess

Autor: Christopher G. (cbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist bei mir zwar schon eine Zeit lang her, dass ich AVRs in Assembler 
programmiert habe, aber bist du dir sicher, dass du nicht OUT statt STS 
und IN statt LDS brauchst?

@Naja: SBRS erwartet als zweiten Parmaeter eine Zahl von 0 bis 7, nicht 
von 0 bis 255.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, da habe ich wohl nicht richtig geschaut, das TOV2-Flag 
liegt noch bei 0x17. Somit muss es der In-Befehl sein

Autor: Naja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Bemerkung war dann falsch. sbrs arbeitet ja mit den Bitnummern, 
nicht mit einer Maske.

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.